/* assets/dist/milhosoja.css: pacote gerado por bin/montar-assets.php. NÃO edite este arquivo: edite as fontes abaixo e rode o script de novo. */

/* ---- assets/css/reset.css ---- */
/*
 * MilhoSoja · reinício dos estilos do navegador (box-sizing, margens, formulários, tabelas).
 *
 * É o style.min.css do Hello Elementor 3.1.0 (tema pai, licença GPL v3 ou posterior), sem nenhuma mudança, copiado para cá para
 * as páginas só de código (inc/assets.php) não precisarem carregar o tema pai: o desenho do tema filho conta com estas regras
 * (por exemplo, box-sizing: border-box em tudo). Nas páginas que ainda carregam o tema pai as regras valem duas vezes, iguais.
 * Vem primeiro no pacote, antes de tudo, como o style.min.css do pai vinha. Se o tema pai for atualizado, comparar este arquivo.
 */
html{line-height:1.15;-webkit-text-size-adjust:100%}*,:after,:before{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;color:#333;background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin-block-start:.5rem;margin-block-end:1rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-block-start:0;margin-block-end:.9rem}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em;white-space:pre-wrap}a{background-color:transparent;text-decoration:none;color:#c36}a:active,a:hover{color:#336}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}abbr[title]{border-block-end:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none;height:auto;max-width:100%}details{display:block}summary{display:list-item}figcaption{font-size:16px;color:#333;line-height:1.4;font-style:italic;font-weight:400}[hidden],template{display:none}@media print{*,:after,:before{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre{white-space:pre-wrap!important}blockquote,pre{-moz-column-break-inside:avoid;break-inside:avoid;border:1px solid #ccc}thead{display:table-header-group}img,tr{-moz-column-break-inside:avoid;break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{-moz-column-break-after:avoid;break-after:avoid}}label{display:inline-block;line-height:1;vertical-align:middle}button,input,optgroup,select,textarea{font-family:inherit;font-size:1rem;line-height:1.5;margin:0}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{width:100%;border:1px solid #666;border-radius:3px;padding:.5rem 1rem;transition:all .3s}input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#333}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{width:auto;-webkit-appearance:button}[type=button],[type=submit],button{display:inline-block;font-weight:400;color:#c36;text-align:center;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid #c36;padding:.5rem 1rem;font-size:1rem;border-radius:3px;transition:all .3s}[type=button]:focus:not(:focus-visible),[type=submit]:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}[type=button]:focus,[type=button]:hover,[type=submit]:focus,[type=submit]:hover,button:focus,button:hover{color:#fff;background-color:#c36;text-decoration:none}[type=button]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto;resize:vertical}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}select{display:block}table{background-color:transparent;width:100%;margin-block-end:15px;font-size:.9em;border-spacing:0;border-collapse:collapse}table td,table th{padding:15px;line-height:1.5;vertical-align:top;border:1px solid hsla(0,0%,50.2%,.5019607843)}table th{font-weight:700}table tfoot th,table thead th{font-size:1em}table caption+thead tr:first-child td,table caption+thead tr:first-child th,table colgroup+thead tr:first-child td,table colgroup+thead tr:first-child th,table thead:first-child tr:first-child td,table thead:first-child tr:first-child th{border-block-start:1px solid hsla(0,0%,50.2%,.5019607843)}table tbody>tr:nth-child(odd)>td,table tbody>tr:nth-child(odd)>th{background-color:hsla(0,0%,50.2%,.0705882353)}table tbody tr:hover>td,table tbody tr:hover>th{background-color:hsla(0,0%,50.2%,.1019607843)}table tbody+tbody{border-block-start:2px solid hsla(0,0%,50.2%,.5019607843)}@media (max-width:767px){table table{font-size:.8em}table table td,table table th{padding:7px;line-height:1.3}table table th{font-weight:400}}dd,dl,dt,li,ol,ul{margin-block-start:0;margin-block-end:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}

/* ---- style.css ---- */
/*
Theme Name:   MilhoSoja
Theme URI:    https://www.milhosoja.com.br/
Description:  Tema filho do Hello Elementor (original, sem alteração) da MilhoSoja. Cuida só da aparência: estilos, menus, modelos de página. As regras de negócio (preços, anúncios, vendedor, e-mails, segurança) ficam no plugin MilhoSoja (mu-plugin) e o tema pede a elas por função ou filtro.
Author:       MilhoSoja
Template:     hello-elementor
Version:      1.0.0
License:      GNU General Public License v3 or later
License URI:  https://www.gnu.org/licenses/gpl-3.0.html
Text Domain:  milhosoja
*/

/*
 * Ajustes que estavam editados à mão dentro do style.min.css do Hello Elementor no ar (o tema pai agora é o original).
 * Ícones SVG dos widgets do Elementor em 16 px e alinhados ao texto.
 */
.elementor-widget-container svg {
	width: 16px;
	height: 16px;
	max-width: 100%;
}

.elementor-widget-container svg {
	display: inline-block;
	vertical-align: middle;
	overflow: hidden;
}

/* ---- assets/css/tokens.css ---- */
/*
 * MilhoSoja · tokens do desenho (cores, medidas, fonte).
 *
 * Fonte da verdade: o protótipo (docs/design/quadro/project/wp-v1) e docs/DESIGN.md. Todo CSS do tema usa estes nomes
 * (var(--ms-...)); mudar uma cor ou um tamanho é mudar aqui.
 *
 * Regras de cor que o protótipo fixou:
 *  - laranja #F08523 só em botão, com texto marinho; texto laranja é #B25A0C e só sobre branco; sobre #F2F2F2 é #8A4309;
 *    sobre marinho é #F7B26B (ou branco);
 *  - verde #4E7A10 para texto e botão; #8FBE34 só decoração (filete, selo, número sobre marinho);
 *  - texto corrido #525B66; apoio #636771 só sobre branco e só no computador; ajuda e legenda no celular, 15 px no mínimo.
 */

/* Outfit, hospedada no próprio tema (a fonte variável cobre todos os pesos; vale para o site todo, com ou sem Elementor). */
@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/outfit-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/outfit-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	/* Cores */
	--ms-marinho: #0D1B2A;
	--ms-marinho-hover: #1D3350;
	--ms-laranja: #F08523;
	--ms-laranja-hover: #E27A16;
	--ms-laranja-texto: #B25A0C;
	--ms-laranja-escuro: #8A4309;
	--ms-laranja-claro: #F7B26B;
	--ms-verde: #4E7A10;
	--ms-verde-decoracao: #8FBE34;
	--ms-texto: #525B66;
	--ms-apoio: #636771;
	--ms-fundo: #F2F2F2;
	--ms-branco: #FFFFFF;
	--ms-linha: #E7E7E7;
	--ms-linha-escura: #24364A;
	--ms-texto-escuro: #E7E7E7;
	--ms-apoio-escuro: #B8BEC6;
	--ms-erro: #B3261E;
	--ms-aviso-ok: #E8F3D6;
	--ms-aviso-erro: #FDE8E6;
	--ms-aviso-erro-texto: #7A1C14;
	--ms-campo-borda: #8A9099;

	/* Fonte */
	--ms-fonte: "Outfit", system-ui, sans-serif;

	/* Medidas */
	--ms-container: 1200px;
	--ms-gutter: 24px;
	--ms-gutter-celular: 20px;
	--ms-alvo: 44px;
	--ms-raio: 12px;
	--ms-pilula: 999px;

	/* Sombra curta de lista de sugestões e submenu (sem borda) e da barra fixa */
	--ms-sombra-curta: 0 2px 6px rgba(13, 27, 42, 0.2);
	--ms-sombra-barra: 0 -2px 6px rgba(13, 27, 42, 0.16);

	/* Ponto em que o cabeçalho passa de celular para computador */
	--ms-ponto-computador: 1100px;
}

/* Telas grandes (monitor de 24" ou 27"): a página abre um pouco mais, sem ocupar a tela toda. O texto corrido continua
   limitado por largura de leitura (.ms-texto, 68ch); só cartões, imagens e a coluna lateral ganham espaço. */
@media (min-width: 1600px) {
	:root {
		--ms-container: 1360px;
	}
}

@media (min-width: 2000px) {
	:root {
		--ms-container: 1440px;
	}
}

/* ---- assets/css/base.css ---- */
/*
 * MilhoSoja · base do tema: regras globais, botões, links, cabeçalho, menu do celular, busca de cidade, rodapé, barra fixa
 * e avisos. Usa os nomes de tokens.css. As áreas (precos.css, anuncios.css, paginas.css, conta.css) vêm depois e usam o
 * que está aqui.
 *
 * Sobre a força dos seletores: o kit do Elementor põe `.elementor-kit-9 a { font-size: 14px }`, `h1`, `h2`, `h3` e `p` em todas
 * as páginas (força 0,1,1), e o Hello Elementor põe cor e borda em `a`, `button` e `input`. Por isso as peças abaixo ou ficam
 * dentro de uma raiz (`.ms-cab .ms-nv`, `.ms-rod .ms-rod__link`: força 0,2,0) ou, quando são usadas soltas em qualquer lugar
 * (`.ms-btn`, `.ms-link`), repetem a classe (`.ms-btn.ms-btn`). Não tire a repetição.
 *
 * Pontos de quebra: 1100 px (cabeçalho do computador), 768 px (rodapé de 4 colunas, barra fixa e busca em linha).
 */

/* ============================================================
   1. Regras globais
   ============================================================ */

/* Quebra de palavra (helmet do protótipo): título balanceado, nada de hifenização automática, nenhuma palavra cortada no meio. */
h1,
h2,
h3,
h4 {
	text-wrap: balance;
	hyphens: manual;
}

p,
li,
dd {
	text-wrap: pretty;
	hyphens: manual;
}

a,
button,
label,
summary {
	hyphens: manual;
	overflow-wrap: normal;
}

/* Foco visível em tudo (3 px). Sobre fundo escuro (.ms-escuro) o contorno é laranja claro. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

.ms-escuro a:focus-visible,
.ms-escuro button:focus-visible,
.ms-escuro [tabindex]:focus-visible {
	outline-color: var(--ms-laranja);
}

/* Só para leitor de tela. */
.ms-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* "Ir para o conteúdo": só aparece com o teclado. */
.ms-pular {
	position: absolute;
	left: -9999px;
	top: 12px;
	z-index: 100001;
	padding: 12px 20px;
	border-radius: var(--ms-pilula);
	background: var(--ms-marinho);
	color: #FFFFFF;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
}

.ms-pular:focus {
	left: 16px;
	color: #FFFFFF;
}

.ms-ancora {
	display: block;
	height: 0;
	outline: 0;
}

/* Com o painel do menu aberto a página de trás não rola. */
html.ms-trava,
html.ms-trava body {
	overflow: hidden;
}

/* Ícones em linha: herdam a cor e não encolhem. */
.ms-icone {
	flex: none;
}

/* ============================================================
   2. Botões e links (usados em todo o site)
   ============================================================ */

.ms-btn.ms-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 28px;
	border: 0;
	border-radius: var(--ms-pilula);
	font-family: var(--ms-fonte);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	white-space: nowrap;
	transition: none;
}

/* Laranja: o botão principal (texto marinho). */
.ms-btn.ms-btn--laranja,
.ms-btn.ms-btn--laranja:visited {
	background: var(--ms-laranja);
	color: var(--ms-marinho);
}

.ms-btn.ms-btn--laranja:hover,
.ms-btn.ms-btn--laranja:focus-visible {
	background: var(--ms-laranja-hover);
	color: var(--ms-marinho);
}

/* Verde: aprovar (a tela de comentários). Texto branco sobre #4E7A10 passa de 5:1. */
.ms-btn.ms-btn--verde,
.ms-btn.ms-btn--verde:visited {
	background: var(--ms-verde);
	color: #FFFFFF;
}

.ms-btn.ms-btn--verde:hover,
.ms-btn.ms-btn--verde:focus-visible {
	background: #3F6410;
	color: #FFFFFF;
}

.ms-btn.ms-btn--verde:disabled,
.ms-btn.ms-btn--contorno:disabled {
	opacity: 1;
	cursor: wait;
}

/* Marinho: uso raro. */
.ms-btn.ms-btn--marinho,
.ms-btn.ms-btn--marinho:visited {
	background: var(--ms-marinho);
	color: #FFFFFF;
}

.ms-btn.ms-btn--marinho:hover,
.ms-btn.ms-btn--marinho:focus-visible {
	background: var(--ms-marinho-hover);
	color: #FFFFFF;
}

/* Contorno marinho (secundário) e contorno branco (sobre fundo escuro). */
.ms-btn.ms-btn--contorno,
.ms-btn.ms-btn--contorno:visited {
	background: #FFFFFF;
	color: var(--ms-marinho);
	box-shadow: inset 0 0 0 2px var(--ms-marinho);
}

.ms-btn.ms-btn--contorno:hover,
.ms-btn.ms-btn--contorno:focus-visible {
	background: var(--ms-fundo);
	color: var(--ms-marinho);
}

.ms-btn.ms-btn--contorno-escuro,
.ms-btn.ms-btn--contorno-escuro:visited {
	background: transparent;
	color: #FFFFFF;
	box-shadow: inset 0 0 0 2px #FFFFFF;
}

.ms-btn.ms-btn--contorno-escuro:hover,
.ms-btn.ms-btn--contorno-escuro:focus-visible {
	background: rgba(255, 255, 255, 0.14);
	color: #FFFFFF;
}

/* Tamanhos: pequeno (cabeçalho, 44 px), médio (rodapé, 48 px), alto (busca, 56 px), cheio (largura toda). */
.ms-btn.ms-btn--pequeno {
	min-height: 44px;
	padding: 0 24px;
	font-size: 16px;
}

.ms-btn.ms-btn--medio {
	min-height: 48px;
	padding: 0 24px;
	font-size: 16px;
}

.ms-btn.ms-btn--alto {
	min-height: 56px;
}

.ms-btn.ms-btn--cheio {
	width: 100%;
}

/* Link de texto: laranja escuro sublinhado sobre branco; --cinza sobre #F2F2F2; --escuro sobre marinho. */
.ms-link.ms-link {
	color: var(--ms-laranja-texto);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ms-link.ms-link:hover {
	color: var(--ms-marinho);
}

.ms-link.ms-link--cinza {
	color: var(--ms-laranja-escuro);
}

.ms-link.ms-link--escuro {
	color: #FFFFFF;
}

.ms-link.ms-link--escuro:hover {
	color: var(--ms-laranja-claro);
}

/* ============================================================
   3. Cabeçalho
   ============================================================ */

.ms-cab {
	position: relative;
	z-index: 20;
	background: #FFFFFF;
	border-bottom: 1px solid var(--ms-linha);
	font-family: var(--ms-fonte);
	font-size: 16px;
	line-height: 1.5;
}

.ms-cab .ms-cab__in {
	display: flex;
	align-items: center;
	gap: 4px;
	min-height: 64px;
	padding: 0 8px 0 var(--ms-gutter-celular);
}

.ms-cab .ms-cab__logo {
	display: flex;
	align-items: center;
	min-height: var(--ms-alvo);
	margin-right: auto;
	flex: none;
}

.ms-cab .ms-cab__logo img {
	display: block;
	height: 42px;
	width: auto;
}

/* Lupa e menu (celular). */
.ms-cab .ms-cab__mob {
	display: flex;
	align-items: center;
	gap: 4px;
}

.ms-icone-botao.ms-icone-botao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--ms-alvo);
	height: var(--ms-alvo);
	padding: 0;
	border: 0;
	border-radius: var(--ms-pilula);
	background: transparent;
	color: var(--ms-marinho);
	cursor: pointer;
}

.ms-icone-botao.ms-icone-botao:hover,
.ms-icone-botao.ms-icone-botao:focus-visible {
	background: var(--ms-fundo);
	color: var(--ms-marinho);
}

/* Computador: escondido no celular. */
.ms-cab .ms-cab__nav,
.ms-cab .ms-cab__acoes {
	display: none;
}

/* Link de menu (computador) e botão "Olá, Nome". */
.ms-cab .ms-nv {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: var(--ms-alvo);
	padding: 0 12px;
	border: 0;
	border-radius: var(--ms-pilula);
	background: transparent;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--ms-marinho);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}

.ms-cab .ms-nv:hover,
.ms-cab .ms-nv:focus-visible {
	background: var(--ms-fundo);
	color: var(--ms-laranja-escuro);
}

.ms-cab .ms-nv[aria-current="page"] {
	color: var(--ms-laranja-texto);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 8px;
}

.ms-cab .ms-nv[aria-current="page"]:hover {
	color: var(--ms-laranja-escuro);
}

.ms-cab .ms-nv--forte,
.ms-cab .ms-conta__botao {
	font-weight: 600;
}

.ms-cab .ms-conta__botao {
	padding: 0 14px;
}

/* A bolinha com o número de comentários esperando aprovação ("Olá, Nome", só para quem modera; o leitor de tela lê o texto ao lado). */
.ms-conta__pendentes {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	margin-left: 6px;
	padding: 0 6px;
	border-radius: var(--ms-pilula);
	background: var(--ms-laranja);
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	color: var(--ms-marinho);
}

/* Submenu da conta. */
.ms-cab .ms-conta {
	position: relative;
}

.ms-cab .ms-conta__menu {
	position: absolute;
	right: 0;
	top: calc(100% + 8px);
	z-index: 30;
	width: 280px;
	padding: 8px;
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	box-shadow: var(--ms-sombra-curta);
}

.ms-cab .ms-conta__item {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 0 14px;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--ms-marinho);
	text-decoration: none;
}

.ms-cab .ms-conta__item:hover,
.ms-cab .ms-conta__item:focus-visible {
	background: var(--ms-fundo);
	color: var(--ms-laranja-escuro);
}

.ms-cab .ms-conta__item--sair {
	margin-top: 4px;
	border-top: 1px solid var(--ms-linha);
	border-radius: 0 0 8px 8px;
}

/* Issue #65: "Cadastre-se" no cabeçalho só onde cabe numa linha; de 1100 a 1279 px o cadastro fica no "Anunciar" e no "Entrar". */
@media (max-width: 1279px) {
	.ms-cab .ms-nv--so-largo {
		display: none;
	}
}

@media (min-width: 1100px) {
	.ms-cab .ms-cab__in {
		flex-wrap: wrap;
		gap: 8px 12px;
		min-height: 76px;
		max-width: var(--ms-container);
		margin: 0 auto;
		padding: 0 var(--ms-gutter);
	}

	.ms-cab .ms-cab__logo {
		margin-right: 0;
	}

	.ms-cab .ms-cab__logo img {
		height: 54px;
	}

	.ms-cab .ms-cab__nav {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 2px;
		margin-left: 8px;
	}

	.ms-cab .ms-cab__acoes {
		display: flex;
		align-items: center;
		gap: 8px;
		margin-left: auto;
	}

	.ms-cab .ms-cab__mob {
		display: none;
	}
}

/* ============================================================
   4. Painel do menu do celular
   ============================================================ */

.ms-painel {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	flex-direction: column;
	font-family: var(--ms-fonte);
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-marinho);
}

.ms-painel[hidden] {
	display: none;
}

.admin-bar .ms-painel {
	top: var(--wp-admin--admin-bar--height, 0);
}

.ms-painel .ms-painel__fundo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	cursor: default;
}

.ms-painel .ms-painel__caixa {
	position: relative;
	display: flex;
	flex-direction: column;
	max-height: 100%;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: #FFFFFF;
}

/* A lupa: só a busca, sobre um fundo escuro; tocar fora fecha. */
.ms-painel[data-modo="busca"] {
	background: rgba(13, 27, 42, 0.5);
}

.ms-painel[data-modo="busca"] .ms-painel__caixa {
	min-height: 340px;
}

.ms-painel[data-modo="busca"] .ms-painel__nav,
.ms-painel[data-modo="busca"] .ms-painel__pe {
	display: none;
}

/* O menu: tela cheia. */
.ms-painel[data-modo="menu"] {
	background: #FFFFFF;
}

.ms-painel[data-modo="menu"] .ms-painel__fundo {
	display: none;
}

.ms-painel[data-modo="menu"] .ms-painel__caixa {
	flex: 1 1 auto;
}

.ms-painel .ms-painel__topo {
	display: flex;
	align-items: center;
	min-height: 64px;
	padding: 0 8px 0 var(--ms-gutter-celular);
	border-bottom: 1px solid var(--ms-linha);
	flex: none;
}

.ms-painel .ms-painel__logo {
	display: flex;
	align-items: center;
	min-height: var(--ms-alvo);
	margin-right: auto;
}

.ms-painel .ms-painel__logo img {
	display: block;
	height: 42px;
	width: auto;
}

.ms-painel .ms-painel__busca {
	padding: 20px var(--ms-gutter-celular) 8px;
}

.ms-painel .ms-painel__nav {
	padding: 0 var(--ms-gutter-celular);
}

.ms-painel .ms-painel__ola {
	margin: 0;
	padding: 12px 4px 4px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-painel .ms-painel__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 56px;
	padding: 0 4px;
	border-bottom: 1px solid var(--ms-linha);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ms-marinho);
	text-decoration: none;
}

.ms-painel .ms-painel__link .ms-icone {
	color: var(--ms-texto);
}

.ms-painel .ms-painel__link:hover,
.ms-painel .ms-painel__link:focus-visible {
	background: var(--ms-fundo);
	color: var(--ms-laranja-escuro);
}

.ms-painel .ms-painel__link[aria-current="page"] {
	color: var(--ms-laranja-texto);
}

.ms-painel .ms-painel__pe {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px var(--ms-gutter-celular) 28px;
}

.ms-painel .ms-painel__email {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	border-radius: var(--ms-raio);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ms-marinho);
	text-decoration: none;
}

.ms-painel .ms-painel__email:hover,
.ms-painel .ms-painel__email:focus-visible {
	background: var(--ms-fundo);
	color: var(--ms-marinho);
}

/* No computador o painel não existe. */
@media (min-width: 1100px) {
	.ms-painel {
		display: none;
	}
}

/* ============================================================
   5. Busca de cidade
   ============================================================ */

.ms-busca {
	position: relative;
	font-family: var(--ms-fonte);
}

.ms-busca .ms-busca__rotulo {
	display: block;
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ms-marinho);
}

.ms-busca .ms-busca__linha {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ms-busca .ms-busca__caixa {
	position: relative;
	min-width: 0;
}

.ms-busca .ms-busca__icone {
	position: absolute;
	left: 16px;
	top: 0;
	bottom: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	color: var(--ms-texto);
	pointer-events: none;
}

.ms-busca .ms-busca__campo {
	display: block;
	width: 100%;
	min-height: 56px;
	margin: 0;
	padding: 0 16px 0 48px;
	border: 2px solid var(--ms-marinho);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	box-shadow: none;
	font-family: var(--ms-fonte);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--ms-marinho);
}

.ms-busca .ms-busca__campo::placeholder {
	color: var(--ms-apoio);
	opacity: 1;
}

/* O campo já tem a borda marinho de 2 px (o Hello Elementor a troca no foco; aqui ela não muda); o contorno de foco vai por fora. */
.ms-busca .ms-busca__campo:focus-visible {
	border-color: var(--ms-marinho);
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

.ms-busca--escura .ms-busca__campo:focus-visible {
	outline-color: var(--ms-laranja);
}

.ms-busca .ms-busca__lista {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 6px);
	z-index: 40;
	padding: 6px;
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	box-shadow: var(--ms-sombra-curta);
}

.ms-busca .ms-busca__lista[hidden] {
	display: none;
}

.ms-busca .ms-busca__opcoes {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ms-busca .ms-busca__opcao {
	margin: 0;
	padding: 0;
}

.ms-busca .ms-busca__opcao a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 52px;
	padding: 6px 14px;
	border-radius: 8px;
	font-size: 17px;
	line-height: 1.3;
	color: var(--ms-marinho);
	text-decoration: none;
}

.ms-busca .ms-busca__opcao a:hover,
.ms-busca .ms-busca__opcao[aria-selected="true"] a {
	background: var(--ms-fundo);
	color: var(--ms-marinho);
}

.ms-busca .ms-busca__opcao strong {
	font-weight: 700;
}

.ms-busca .ms-busca__estado {
	flex: none;
	font-size: 15px;
	color: var(--ms-texto);
}

.ms-busca .ms-busca__vazio {
	margin: 0;
	padding: 14px;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-busca .ms-busca__vazio a {
	font-size: 16px;
	font-weight: 600;
	color: var(--ms-laranja-texto);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ms-busca .ms-busca__ajuda {
	margin: 8px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-busca--escura .ms-busca__rotulo {
	color: #FFFFFF;
}

.ms-busca--escura .ms-busca__ajuda {
	color: var(--ms-texto-escuro);
}

@media (min-width: 768px) {
	.ms-busca .ms-busca__linha {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.ms-busca .ms-busca__caixa {
		flex: 1 1 280px;
	}
}

/* Dentro do painel do celular o botão ocupa a largura toda, em qualquer largura de tela. */
.ms-painel .ms-busca .ms-busca__linha {
	flex-direction: column;
	flex-wrap: nowrap;
}

.ms-painel .ms-busca .ms-busca__caixa {
	flex: none;
}

.ms-painel .ms-busca .ms-busca__botao {
	width: 100%;
}

/* ============================================================
   6. Rodapé
   ============================================================ */

.ms-rod {
	background: var(--ms-marinho);
	color: var(--ms-texto-escuro);
	font-family: var(--ms-fonte);
	font-size: 16px;
	line-height: 1.5;
}

.ms-rod .ms-rod__grade {
	display: block;
	padding: 32px var(--ms-gutter-celular) 4px;
}

.ms-rod .ms-rod__logo {
	display: inline-flex;
	align-items: center;
	min-height: var(--ms-alvo);
}

.ms-rod .ms-rod__logo img {
	display: block;
	height: 40px;
	width: auto;
}

.ms-rod .ms-rod__texto {
	max-width: 32ch;
	margin: 8px 0 16px;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto-escuro);
}

.ms-rod .ms-rod__contatos {
	display: flex;
	flex-direction: column;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.ms-rod .ms-rod__contatos li {
	margin: 0;
}

.ms-rod .ms-rod__link {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: var(--ms-alvo);
	font-size: 16px;
	line-height: 1.4;
	color: var(--ms-texto-escuro);
	text-decoration: none;
}

.ms-rod .ms-rod__link:hover,
.ms-rod .ms-rod__link:focus-visible {
	color: #FFFFFF;
	text-decoration: underline;
}

.ms-rod .ms-rod__grupo {
	margin: 0;
	border-top: 1px solid var(--ms-linha-escura);
}

.ms-rod .ms-rod__grupo:first-of-type {
	margin-top: 12px;
}

.ms-rod .ms-rod__titulo {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	color: #FFFFFF;
}

.ms-rod .ms-rod__botao {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 52px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	color: #FFFFFF;
	text-align: left;
	cursor: pointer;
}

.ms-rod .ms-rod__botao:hover,
.ms-rod .ms-rod__botao:focus-visible {
	background: transparent;
	color: #FFFFFF;
}

.ms-rod .ms-rod__botao[aria-expanded="true"] .ms-rod__seta {
	transform: rotate(180deg);
}

.ms-rod .ms-rod__lista {
	margin: 0;
	padding: 0 0 8px;
	list-style: none;
}

.ms-rod .ms-rod__lista[hidden] {
	display: none;
}

.ms-rod .ms-rod__lista li {
	margin: 0;
}

.ms-rod .ms-rod__fim {
	border-top: 1px solid var(--ms-linha-escura);
}

.ms-rod .ms-rod__fim-in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 8px;
	padding: 4px var(--ms-gutter-celular);
	font-size: 14px;
	line-height: 1.5;
	color: var(--ms-apoio-escuro);
}

.ms-rod .ms-rod__politica {
	display: inline-flex;
	align-items: center;
	min-height: var(--ms-alvo);
	font-size: 14px;
	color: var(--ms-apoio-escuro);
	text-decoration: underline;
}

.ms-rod .ms-rod__politica:hover,
.ms-rod .ms-rod__politica:focus-visible {
	color: #FFFFFF;
}

/* Trechos que existem só num dos dois tamanhos. */
.ms-so-computador {
	display: none;
}

.ms-rod .ms-rod__texto .ms-so-celular {
	display: inline;
}

@media (min-width: 768px) {
	.ms-so-celular,
	.ms-rod .ms-so-celular,
	.ms-rod .ms-btn.ms-so-celular,
	.ms-rod .ms-rod__texto .ms-so-celular {
		display: none;
	}

	.ms-so-computador {
		display: initial;
	}

	.ms-rod .ms-rod__contatos .ms-so-computador {
		display: block;
	}

	.ms-rod .ms-rod__grade {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
		gap: 40px 32px;
		max-width: var(--ms-container);
		margin: 0 auto;
		padding: 56px var(--ms-gutter) 32px;
	}

	.ms-rod .ms-rod__logo img {
		height: 44px;
	}

	.ms-rod .ms-rod__texto {
		margin: 12px 0;
	}

	.ms-rod .ms-rod__contatos {
		margin: 0;
	}

	.ms-rod .ms-rod__link {
		min-height: 40px;
	}

	.ms-rod .ms-rod__grupo,
	.ms-rod .ms-rod__grupo:first-of-type {
		margin: 0;
		border-top: 0;
	}

	.ms-rod .ms-rod__titulo {
		margin: 0 0 12px;
	}

	.ms-rod .ms-rod__botao {
		min-height: 0;
		pointer-events: none;
		cursor: default;
	}

	.ms-rod .ms-rod__botao:disabled {
		color: #FFFFFF;
		opacity: 1;
	}

	.ms-rod .ms-rod__seta {
		display: none;
	}

	.ms-rod .ms-rod__lista,
	.ms-rod .ms-rod__lista[hidden] {
		display: block;
		padding: 0;
	}

	.ms-rod .ms-rod__fale {
		display: block;
	}

	.ms-rod .ms-rod__link--solto {
		margin-top: 8px;
	}

	.ms-rod .ms-rod__fim-in {
		max-width: var(--ms-container);
		margin: 0 auto;
		padding: 4px var(--ms-gutter);
	}
}

/* ============================================================
   7. Barra fixa do celular (páginas de preço)
   ============================================================ */

.ms-barra {
	display: none;
}

@media (max-width: 767px) {
	.ms-barra {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 30;
		display: block;
		padding: 10px var(--ms-gutter-celular);
		background: #FFFFFF;
		box-shadow: var(--ms-sombra-barra);
	}

	.ms-barra[data-oculta] {
		display: none;
	}

	/* O pé da página não fica por baixo da barra. */
	body:has(.ms-barra:not([data-oculta])) {
		padding-bottom: var(--ms-barra-altura, 72px);
	}
}

/* ============================================================
   8. Avisos (faixa abaixo do cabeçalho que some em 6 segundos)
   ============================================================ */

/* Aviso dentro de um formulário (por exemplo o erro de senha em /entrar/): caixa simples, não some. */
.milhosoja-aviso {
	margin: 0 0 16px;
	padding: 12px 14px;
	border-radius: 8px;
	font-family: var(--ms-fonte);
	font-size: 16px;
	line-height: 1.4;
}

.milhosoja-aviso--erro {
	background: var(--ms-aviso-erro);
	color: var(--ms-aviso-erro-texto);
	border: 1px solid #B42318;
}

.milhosoja-aviso--ok {
	background: var(--ms-aviso-ok);
	color: #1B2A1F;
	border: 1px solid var(--ms-verde);
}

/* Resumo de erros logo acima do botão de enviar (cadastro, anunciar, editar anúncio, meus dados, proposta e comentário). Escrito pelo
   servidor (src/ErrorSummary.php, no envio sem JavaScript) ou pelo script de cada formulário; role="alert" no próprio elemento.
   "Falta preencher: grão, preço." / "Confira: WhatsApp (só números)." Escondido (hidden) até a primeira tentativa de enviar. */
.ms-resumo-erros {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 16px;
	padding: 14px 16px;
	border: 2px solid var(--ms-erro);
	border-radius: var(--ms-raio);
	background: var(--ms-branco);
	font-family: var(--ms-fonte);
	font-size: 16px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--ms-erro);
}

.ms-resumo-erros[hidden] {
	display: none;
}

.ms-resumo-erros::before {
	content: "";
	flex: none;
	width: 22px;
	height: 22px;
	margin-top: 1px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5v.01'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5v.01'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ms-resumo-erros__txt {
	min-width: 0;
	overflow-wrap: anywhere;
}

.ms-avisos {
	/* Por cima do conteúdo, no mesmo lugar (logo abaixo do cabeçalho): com top automático, o bloco fica onde estaria, mas fora
	   do fluxo, então a página não desce quando o aviso entra nem sobe quando ele sai (15/10/2026). */
	position: absolute;
	right: 0;
	left: 0;
	z-index: 15;
	font-family: var(--ms-fonte);
}

.ms-avisos .ms-aviso {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: 0 6px 16px rgba(13, 27, 42, 0.16);
	font-size: 16px;
	line-height: 1.5;
}

/* Entra com um fade curto descendo 8 px; sai devagar quando o tempo acaba (0,3 s) e rápido ao tocar em Fechar (0,15 s). */
@media (prefers-reduced-motion: no-preference) {
	.ms-avisos .ms-aviso {
		animation: ms-aviso-entra 0.25s ease-out;
		transition: opacity 0.3s ease, transform 0.3s ease;
	}

	.ms-avisos .ms-aviso[data-saindo="rapido"] {
		transition-duration: 0.15s;
	}
}

@keyframes ms-aviso-entra {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.ms-avisos .ms-aviso[data-saindo] {
	opacity: 0;
	transform: translateY(-8px);
	pointer-events: none;
}

.ms-avisos .ms-aviso--ok {
	background: var(--ms-aviso-ok);
	border-bottom: 3px solid var(--ms-verde);
	color: #1B2A1F;
}

.ms-avisos .ms-aviso--neutro {
	background: var(--ms-fundo);
	border-bottom: 3px solid var(--ms-marinho);
	color: var(--ms-marinho);
}

.ms-avisos .ms-aviso--erro {
	background: var(--ms-aviso-erro);
	border-bottom: 3px solid var(--ms-erro);
	color: var(--ms-aviso-erro-texto);
}

.ms-avisos .ms-aviso__in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 4px 16px;
	max-width: var(--ms-container);
	margin: 0 auto;
	padding: 12px var(--ms-gutter-celular);
}

.ms-avisos .ms-aviso__texto {
	flex: 1 1 240px;
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}

.ms-avisos .ms-aviso__acoes {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 16px;
}

.ms-avisos .ms-aviso__link {
	display: inline-flex;
	align-items: center;
	min-height: var(--ms-alvo);
	font-size: 16px;
	font-weight: 700;
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ms-avisos .ms-aviso__fechar {
	min-height: var(--ms-alvo);
	min-width: var(--ms-alvo);
	padding: 0 18px;
	border: 0;
	border-radius: var(--ms-pilula);
	background: transparent;
	box-shadow: inset 0 0 0 1.5px currentColor;
	font-family: var(--ms-fonte);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	color: inherit;
	white-space: nowrap;
	cursor: pointer;
}

.ms-avisos .ms-aviso__fechar:hover,
.ms-avisos .ms-aviso__fechar:focus-visible {
	background: rgba(13, 27, 42, 0.08);
	color: inherit;
}

@media (min-width: 1100px) {
	.ms-avisos .ms-aviso__in {
		padding: 12px var(--ms-gutter);
	}
}

/* ============================================================
   9. Blog e arquivos do tema pai (alvos de toque de 44 px; Issue 52)
   ============================================================ */

.archive .page-content .entry-title a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

/* O link "Solicite uma Proposta" que os posts do blog ainda trazem no texto (classe do tema antigo). */
a.comprar-agora {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
}

.pagination a,
.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
}


/* ------------------------------------------------------------------------------------------------------------------------
   Verificação antirrobô (comentário das páginas de cidade e cadastro do vendedor). Um bloco à parte dos campos, com escudo, o
   título "Verificação rápida" e a conta como etiqueta de captcha ("4 + 3 =") com o campo da resposta ao lado. O rótulo do campo,
   para leitor de tela, é a pergunta por extenso (classe ms-sr). A classe repete para ganhar do Elementor e do JetFormBuilder.
   ------------------------------------------------------------------------------------------------------------------------ */

.ms-verif.ms-verif {
	min-width: 0;
	margin: 0;
	padding: 14px 16px 16px;
	border: 1.5px solid var(--ms-campo-borda);
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
}

.ms-verif.ms-verif--erro {
	border: 2px solid var(--ms-erro);
}

.ms-verif .ms-verif__topo {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ms-verif .ms-verif__escudo {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: var(--ms-pilula);
	background: var(--ms-aviso-ok);
	color: var(--ms-verde);
}

/* No cadastro o formulário está dentro de um widget do Elementor, que põe todo SVG em 16 px: o escudo volta aos 26 px. */
.ms-verif .ms-verif__escudo svg.ms-icone {
	flex: none;
	width: 26px;
	height: 26px;
}

.ms-verif .ms-verif__titulo.ms-verif__titulo {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--ms-marinho);
}

.ms-verif .ms-verif__sub.ms-verif__sub {
	margin: 2px 0 0;
	font-size: 15px;
	line-height: 1.4;
	color: var(--ms-texto);
}

.ms-verif .ms-verif__conta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 12px;
}

.ms-verif .ms-verif__etiqueta {
	display: inline-flex;
	align-items: center;
	flex: none;
	min-height: 48px;
	padding: 0 16px;
	border-radius: 10px;
	background: var(--ms-aviso-ok);
	font-size: 26px;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1;
	white-space: nowrap;
	color: var(--ms-marinho);
	user-select: none;
}

.ms-verif input.ms-verif__campo.ms-verif__campo {
	display: block;
	flex: none;
	box-sizing: border-box;
	width: 96px;
	max-width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 0 8px;
	border: 1.5px solid var(--ms-campo-borda);
	border-radius: var(--ms-raio);
	background: var(--ms-branco);
	box-shadow: none;
	font-family: var(--ms-fonte);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
	text-align: center;
	color: var(--ms-marinho);
}

.ms-verif input.ms-verif__campo.ms-verif__campo:focus,
.ms-verif input.ms-verif__campo.ms-verif__campo:focus-visible {
	border-color: var(--ms-campo-borda);
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
	background: var(--ms-branco);
	color: var(--ms-marinho);
}

.ms-verif.ms-verif--erro input.ms-verif__campo.ms-verif__campo {
	border: 2px solid var(--ms-erro);
}

/* ---- assets/css/precos.css ---- */
/*
 * MilhoSoja · Preços: Início, Preço por cidade, Estado, Cidade (e as peças que as telas de anúncio também usam: seção, faixa de
 * título com migalha, faixa verde, cartão de estado).
 *
 * Fonte da verdade: o protótipo (docs/design/quadro/project/wp-v1, telas 01, 03, 04 e 05). Tudo usa var(--ms-...) de tokens.css.
 * Como em base.css, os seletores de título, parágrafo e link têm duas classes (ou uma dentro de .ms-main): o kit do Elementor e o
 * Hello Elementor põem tamanho, margem e cor em `h1`, `h2`, `p`, `a` e `button`, e uma classe só perde para eles.
 * Pontos de quebra: 768 px (duas colunas, tamanhos do computador) e 1100 px (cabeçalho do computador, em base.css).
 */

/* ============================================================
   1. Esqueleto das telas: raiz, seção, títulos
   ============================================================ */

.ms-main {
	font-family: var(--ms-fonte);
	font-size: 17px;
	line-height: 1.6;
	color: var(--ms-texto);
	background: #FFFFFF;
}

.ms-main .ms-sec {
	background: #FFFFFF;
}

.ms-main .ms-sec--fundo {
	background: var(--ms-fundo);
}

.ms-main .ms-sec__in {
	max-width: var(--ms-container);
	margin: 0 auto;
	padding: 48px var(--ms-gutter-celular);
}

.ms-main .ms-sec__titulo {
	margin: 0;
	font-size: 28px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--ms-marinho);
}

.ms-main .ms-sec__lead {
	margin: 10px 0 0;
	max-width: 62ch;
	font-size: 18px;
	line-height: 1.55;
	color: var(--ms-texto);
}

.ms-main .ms-sec__nota {
	margin: 20px 0 0;
	max-width: 62ch;
	font-size: 16px;
	line-height: 1.6;
	color: var(--ms-texto);
}

.ms-main .ms-sec__acao {
	margin: 20px 0 0;
}

@media (min-width: 768px) {
	.ms-main {
		font-size: 17px;
	}

	.ms-main .ms-sec__in {
		padding: 72px var(--ms-gutter);
	}

	.ms-main .ms-sec__titulo {
		font-size: 36px;
	}

	.ms-main .ms-sec__lead {
		font-size: 20px;
	}

	.ms-main .ms-sec__nota {
		font-size: 17px;
	}
}

/* Link de texto com seta (Ver o preço na sua cidade, Conheça a MilhoSoja, Ver todos os anúncios). */
.ms-main .ms-link.ms-link--seta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: var(--ms-alvo);
	font-size: 17px;
	line-height: 1.3;
}

.ms-main .ms-link.ms-link--botao {
	display: inline-flex;
	align-items: center;
	min-height: var(--ms-alvo);
	padding: 0 4px;
	font-size: 16px;
}

/* ============================================================
   2. Faixa de título (migalha, h1, frase de apoio, busca)
   ============================================================ */

.ms-main .ms-faixa {
	background: var(--ms-marinho);
	border-bottom: 4px solid var(--ms-verde-decoracao);
}

.ms-main .ms-faixa--laranja {
	background: var(--ms-laranja);
	border-bottom: 0;
}

.ms-main .ms-faixa__cont {
	max-width: var(--ms-container);
	margin: 0 auto;
	padding: 4px var(--ms-gutter-celular) 32px;
}

.ms-main .ms-faixa__migalha {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 15px;
	line-height: 1.4;
	color: var(--ms-texto-escuro);
}

.ms-main .ms-faixa__migalha li {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
}

.ms-main .ms-faixa__migalha li[aria-current="page"] {
	min-height: var(--ms-alvo);
	font-weight: 600;
	color: #FFFFFF;
}

.ms-main .ms-faixa__migalha span {
	color: var(--ms-apoio-escuro);
}

.ms-main .ms-faixa__migalha a {
	display: inline-flex;
	align-items: center;
	min-height: var(--ms-alvo);
	min-width: var(--ms-alvo);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	color: #FFFFFF;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ms-main .ms-faixa__migalha a:hover {
	color: var(--ms-laranja-claro);
}

.ms-main .ms-faixa__titulo {
	margin: 4px 0 0;
	font-size: 32px;
	line-height: 1.15;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: #FFFFFF;
}

.ms-main .ms-faixa__lead {
	margin: 12px 0 0;
	max-width: 62ch;
	font-size: 17px;
	line-height: 1.55;
	color: var(--ms-texto-escuro);
}

.ms-main .ms-faixa__busca {
	max-width: 720px;
	margin-top: 24px;
}

/* Variante laranja (lista de anúncios): texto marinho. */
.ms-main .ms-faixa--laranja .ms-faixa__migalha,
.ms-main .ms-faixa--laranja .ms-faixa__migalha span {
	color: var(--ms-marinho);
}

.ms-main .ms-faixa--laranja .ms-faixa__migalha li[aria-current="page"] {
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-main .ms-faixa--laranja .ms-faixa__migalha a,
.ms-main .ms-faixa--laranja .ms-faixa__migalha a:hover {
	font-weight: 600;
	color: var(--ms-marinho);
}

.ms-main .ms-faixa--laranja .ms-faixa__titulo,
.ms-main .ms-faixa--laranja .ms-faixa__lead {
	color: var(--ms-marinho);
}

@media (min-width: 768px) {
	.ms-main .ms-faixa__cont {
		padding: 8px var(--ms-gutter) 48px;
	}

	.ms-main .ms-faixa--laranja .ms-faixa__cont {
		padding-bottom: 40px;
	}

	.ms-main .ms-faixa__titulo {
		margin-top: 8px;
		font-size: 44px;
	}

	.ms-main .ms-faixa__lead {
		font-size: 19px;
	}

	.ms-main .ms-faixa__busca {
		margin-top: 32px;
	}
}

/* ============================================================
   3. Faixa verde de chamada (Início e Preço por cidade)
   ============================================================ */

.ms-main .ms-verde {
	background: var(--ms-verde);
}

.ms-main .ms-verde__in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 32px;
	max-width: var(--ms-container);
	margin: 0 auto;
	padding: 48px var(--ms-gutter-celular);
}

.ms-main .ms-verde__texto {
	flex: 1 1 420px;
}

.ms-main .ms-verde__titulo {
	margin: 0;
	font-size: 28px;
	line-height: 1.2;
	font-weight: 800;
	color: #FFFFFF;
}

.ms-main .ms-verde__frase {
	margin: 12px 0 0;
	max-width: 46ch;
	font-size: 17px;
	line-height: 1.55;
	color: #FFFFFF;
}

.ms-main .ms-verde__botoes {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

@media (min-width: 768px) {
	.ms-main .ms-verde__in {
		padding: 56px var(--ms-gutter);
	}

	.ms-main .ms-verde__titulo {
		font-size: 36px;
	}

	.ms-main .ms-verde__frase {
		font-size: 19px;
	}

	.ms-main .ms-verde__botoes {
		flex-direction: row;
		flex-wrap: wrap;
		width: auto;
	}
}

/* ============================================================
   4. Início
   ============================================================ */

.ms-main .ms-abertura .ms-sec__in {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr));
	align-items: center;
	gap: 32px 48px;
	padding-top: 28px;
	padding-bottom: 40px;
}

.ms-main .ms-abertura__titulo {
	margin: 0;
	font-size: 38px;
	line-height: 1.08;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ms-verde);
}

.ms-main .ms-abertura__lead {
	margin: 14px 0 0;
	max-width: 34em;
	font-size: 18px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-main .ms-abertura__nota {
	margin: 10px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-main .ms-abertura__busca {
	margin-top: 24px;
	padding: 20px;
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
}

.ms-main .ms-abertura__acoes {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin-top: 16px;
}

.ms-main .ms-abertura__acoes .ms-btn {
	width: 100%;
}

/* A frase ao lado do botão só aparece a partir do tablet (o protótipo do celular não a tem). */
.ms-main .ms-abertura__acoes-texto {
	display: none;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-main .ms-abertura__colagem {
	display: block;
	width: 100%;
	max-width: 635px;
	height: auto;
	margin: 0 auto;
}

/* Faixa do preço de referência de Goiás. */
.ms-main .ms-referencia {
	border-top: 1px solid var(--ms-linha);
	border-bottom: 1px solid var(--ms-linha);
}

.ms-main .ms-referencia .ms-sec__in {
	padding-top: 24px;
	padding-bottom: 24px;
}

/* Celular: título e aviso, os dois cartões de preço lado a lado e, por último, o link (como no protótipo). */
.ms-main .ms-referencia__cartao {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 12px;
	padding: 20px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
}

.ms-main .ms-referencia__texto {
	display: contents;
}

.ms-main .ms-referencia__titulo {
	grid-column: 1 / -1;
	margin: 0;
	font-size: 20px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-main .ms-referencia__texto .ms-link {
	grid-column: 1 / -1;
	order: 3;
	justify-self: start;
}

.ms-main .ms-referencia__aviso {
	grid-column: 1 / -1;
	margin: -4px 0 4px;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-main .ms-referencia__preco {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 6px 10px;
	min-width: 0;
	padding: 14px 16px;
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
}

.ms-main .ms-referencia__preco > div {
	display: contents;
}

.ms-main .ms-referencia__preco img {
	display: block;
	width: 36px;
	height: 36px;
	object-fit: contain;
}

.ms-main .ms-referencia__grao {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ms-texto);
}

.ms-main .ms-referencia__valor {
	grid-column: 1 / -1;
	margin: 0;
	color: var(--ms-marinho);
}

.ms-main .ms-referencia__valor span {
	font-size: 24px;
	line-height: 1.2;
	font-weight: 800;
	white-space: nowrap;
}

.ms-main .ms-referencia__valor small {
	font-size: 15px;
	color: var(--ms-texto);
}

/* "Comprar e vender grãos". */
.ms-main .ms-revolucao {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr));
	align-items: center;
	gap: 32px 56px;
}

.ms-main .ms-revolucao__imagem {
	display: block;
	width: 100%;
	max-width: none;
	height: 300px;
	object-fit: cover;
	object-position: 50% 18%;
	border-radius: var(--ms-raio);
}

.ms-main .ms-revolucao__sobre {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--ms-verde);
}

.ms-main .ms-revolucao__corpo {
	max-width: 62ch;
	margin-top: 20px;
	font-size: 17px;
	line-height: 1.6;
	color: var(--ms-texto);
}

.ms-main .ms-revolucao__corpo p {
	margin: 0;
}

.ms-main .ms-revolucao__corpo p + p {
	margin-top: 14px;
}

.ms-main .ms-revolucao__lista {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.ms-main .ms-revolucao__lista li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-main .ms-revolucao__texto .ms-link--seta {
	margin-top: 12px;
}

.ms-main .ms-revolucao__lista .ms-icone {
	margin-top: 1px;
	color: var(--ms-verde);
}

/* Cartões de estado (Início: 5 mais buscados; Preço por cidade: todos). */
.ms-main .ms-estados {
	display: grid;
	gap: 16px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.ms-main .ms-estados--cinco {
	grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
}

/* Início: com 5 cartões numa linha, cada um tem uns 218 px. Padding e fonte menores fazem "Mato Grosso do Sul" caber
   numa linha; se ainda quebrar (larguras entre 1.100 e 1.200 px), a altura igual mantém a fileira alinhada. */
.ms-main .ms-estados--cinco .ms-estado-cartao {
	height: 100%;
	gap: 8px;
	padding: 14px 16px;
}

.ms-main .ms-estados--cinco .ms-estado-cartao__nome {
	font-size: 17px;
}

.ms-main .ms-estados--todos {
	grid-template-columns: 1fr;
	gap: 0;
}

.ms-main .ms-estados li {
	margin: 0;
	padding: 0;
}

.ms-main .ms-estado-cartao {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 76px;
	padding: 14px 20px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	text-decoration: none;
	color: var(--ms-texto);
}

.ms-main .ms-estado-cartao:hover {
	border-color: var(--ms-marinho);
	color: var(--ms-texto);
}

.ms-main .ms-estado-cartao__texto {
	display: block;
}

.ms-main .ms-estado-cartao__nome {
	display: block;
	font-size: 19px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-main .ms-estado-cartao__paginas {
	display: block;
	font-size: 15px;
	line-height: 1.4;
	color: var(--ms-texto);
}

.ms-main .ms-estado-cartao .ms-icone {
	color: var(--ms-texto);
}

/* Preço por cidade, no celular: a lista dos 26 estados em linhas (sem caixas), como no protótipo. */
.ms-main .ms-estados--todos .ms-estado-cartao {
	min-height: 60px;
	padding: 6px 4px;
	border-width: 0 0 1px;
	border-radius: 0;
	background: transparent;
}

.ms-main .ms-estados--todos .ms-estado-cartao__nome {
	font-size: 18px;
	font-weight: 600;
}

.ms-main .ms-estados--todos .ms-estado-cartao:hover {
	border-color: var(--ms-marinho);
}

/* "Como funciona o preço de referência". */
.ms-main .ms-como {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
	align-items: start;
	gap: 32px 56px;
}

.ms-main .ms-como__corpo {
	max-width: 56ch;
	margin-top: 20px;
	font-size: 17px;
	line-height: 1.6;
	color: var(--ms-texto);
}

.ms-main .ms-como__corpo p {
	margin: 0;
}

.ms-main .ms-como__corpo p + p {
	margin-top: 14px;
}

.ms-main .ms-como__cartao {
	padding: 22px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
}

.ms-main .ms-como__subtitulo {
	margin: 0;
	font-size: 20px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-main .ms-como__lista {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.ms-main .ms-como__lista li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-main .ms-como__lista .ms-icone {
	margin-top: 1px;
	color: var(--ms-verde);
}

@media (min-width: 768px) {
	.ms-main .ms-abertura .ms-sec__in {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.ms-main .ms-abertura__titulo {
		font-size: 56px;
	}

	.ms-main .ms-abertura__lead {
		margin-top: 20px;
		font-size: 20px;
	}

	.ms-main .ms-abertura__busca {
		margin-top: 28px;
		padding: 24px;
	}

	.ms-main .ms-abertura__acoes {
		margin-top: 20px;
	}

	.ms-main .ms-abertura__acoes .ms-btn {
		width: auto;
	}

	.ms-main .ms-abertura__acoes-texto {
		display: inline;
	}

	.ms-main .ms-referencia .ms-sec__in {
		padding-top: 32px;
		padding-bottom: 32px;
	}

	.ms-main .ms-referencia__cartao {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 20px 24px;
		padding: 24px 28px;
	}

	.ms-main .ms-referencia__texto {
		display: block;
		flex: 1 1 300px;
	}

	.ms-main .ms-referencia__aviso {
		margin: 8px 0 0;
	}

	.ms-main .ms-referencia__texto .ms-link {
		justify-self: auto;
	}

	.ms-main .ms-referencia__titulo {
		font-size: 24px;
	}

	.ms-main .ms-referencia__preco {
		display: flex;
		flex: 0 0 auto;
		flex-direction: row;
		align-items: center;
		gap: 14px;
		min-width: 200px;
		padding: 14px 18px;
	}

	.ms-main .ms-referencia__preco > div {
		display: block;
	}

	.ms-main .ms-referencia__preco img {
		width: 48px;
		height: 48px;
	}

	.ms-main .ms-referencia__valor span {
		font-size: 30px;
	}

	.ms-main .ms-revolucao__corpo {
		font-size: 18px;
	}

	.ms-main .ms-revolucao__imagem {
		max-width: 487px;
		height: auto;
		object-fit: fill;
	}

	.ms-main .ms-estados--todos {
		grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr));
		gap: 16px;
	}

	.ms-main .ms-estados--todos .ms-estado-cartao {
		min-height: 76px;
		padding: 14px 20px;
		border-width: 1px;
		border-radius: var(--ms-raio);
		background: #FFFFFF;
	}

	.ms-main .ms-estados--todos .ms-estado-cartao__nome {
		font-size: 19px;
		font-weight: 700;
	}

	.ms-main .ms-como__cartao {
		padding: 28px;
	}
}

/* ============================================================
   5. Estado
   ============================================================ */

.ms-main .ms-precos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
	gap: 16px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.ms-main .ms-preco-cartao {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas:
		"grao valor"
		"grao unidade";
	align-items: center;
	column-gap: 12px;
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
}

.ms-main .ms-preco-cartao__grao {
	grid-area: grao;
	display: flex;
	align-items: center;
	gap: 12px;
}

.ms-main .ms-preco-cartao__icone {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: var(--ms-pilula);
	background: var(--ms-fundo);
}

.ms-main .ms-preco-cartao__icone img {
	display: block;
	width: 32px;
	height: 32px;
	object-fit: contain;
}

.ms-main .ms-preco-cartao__nome {
	margin: 0;
	font-size: 22px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-main .ms-preco-cartao__valor {
	grid-area: valor;
	margin: 0;
	font-size: 28px;
	line-height: 1.05;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ms-marinho);
	white-space: nowrap;
	text-align: right;
}

.ms-main .ms-preco-cartao__unidade {
	grid-area: unidade;
	margin: 2px 0 0;
	font-size: 16px;
	line-height: 1.3;
	color: var(--ms-texto);
	text-align: right;
}

/* Barra de letras. */
.ms-main .ms-letras {
	margin-top: 28px;
}

.ms-main .ms-letras__rotulo {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-texto);
}

.ms-main .ms-letras__lista {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 8px;
	max-width: 760px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ms-main .ms-letras__lista li {
	margin: 0;
	padding: 0;
}

.ms-main .ms-letras__todas {
	grid-column: span 2;
}

.ms-main .ms-letra {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	box-shadow: inset 0 0 0 2px var(--ms-marinho);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--ms-marinho);
	text-decoration: none;
}

.ms-main .ms-letra:hover {
	background: var(--ms-fundo);
	color: var(--ms-marinho);
}

.ms-main .ms-letra[aria-current="true"],
.ms-main .ms-letra[aria-current="true"]:hover {
	background: var(--ms-marinho);
	color: #FFFFFF;
}

.ms-main .ms-estado__status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 12px;
	margin: 16px 0 0;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 600;
	color: var(--ms-marinho);
}

.ms-main .ms-estado__letra {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 28px 0 0;
	font-size: 30px;
	line-height: 1.1;
	font-weight: 800;
	color: var(--ms-verde);
}

.ms-main .ms-estado__letra span {
	flex: 1;
	height: 2px;
	background: var(--ms-linha);
}

.ms-main .ms-cidades {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr));
	gap: 12px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.ms-main .ms-cidade-cartao {
	margin: 0;
	padding: 18px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
}

.ms-main .ms-cidade-cartao__nome {
	margin: 0 0 10px;
	font-size: 19px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-main .ms-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ms-main .ms-chip {
	display: inline-flex;
	align-items: center;
	min-height: var(--ms-alvo);
	padding: 0 16px;
	border-radius: var(--ms-pilula);
	background: #FFFFFF;
	box-shadow: inset 0 0 0 1.5px var(--ms-campo-borda);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--ms-marinho);
	text-decoration: none;
	white-space: nowrap;
}

.ms-main .ms-chip:hover {
	background: var(--ms-fundo);
	color: var(--ms-marinho);
}

.ms-main .ms-paginas ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
}

.ms-main .ms-paginas li {
	margin: 0;
	padding: 0;
}

.ms-main .ms-paginas a.page-numbers,
.ms-main .ms-paginas span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 48px;
	padding: 0 16px;
	border-radius: var(--ms-pilula);
	background: #FFFFFF;
	box-shadow: inset 0 0 0 2px var(--ms-marinho);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--ms-marinho);
	text-decoration: none;
}

.ms-main .ms-paginas a.page-numbers:hover {
	background: var(--ms-fundo);
	color: var(--ms-marinho);
}

.ms-main .ms-paginas span.page-numbers.current {
	background: var(--ms-marinho);
	color: #FFFFFF;
}

.ms-main .ms-paginas span.page-numbers.dots {
	min-width: 24px;
	padding: 0;
	background: transparent;
	box-shadow: none;
}

.ms-main .ms-estado__fecho {
	margin: 48px 0 0;
	max-width: 62ch;
	font-size: 17px;
	line-height: 1.6;
	color: var(--ms-texto);
}

@media (min-width: 768px) {
	.ms-main .ms-preco-cartao {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		padding: 24px;
	}

	.ms-main .ms-preco-cartao__valor {
		margin-top: 4px;
		font-size: 40px;
		text-align: left;
	}

	.ms-main .ms-preco-cartao__unidade {
		margin: 0;
		text-align: left;
	}

	.ms-main .ms-letras__lista {
		grid-template-columns: repeat(auto-fill, minmax(52px, 1fr));
	}

	.ms-main .ms-letras__todas {
		grid-column: span 2;
	}

	.ms-main .ms-estado__fecho {
		font-size: 18px;
	}
}

/* ============================================================
   6. Cidade
   ============================================================ */

.ms-main .ms-cidade .ms-sec__in {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 32px 40px;
	padding-top: 32px;
	padding-bottom: 48px;
}

.ms-main .ms-cidade__principal {
	flex: 999 1 560px;
	min-width: 0;
}

.ms-main .ms-cidade__lateral {
	flex: 1 1 340px;
	min-width: 0;
	max-width: 420px;
}

.ms-main .ms-abas__rotulo {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-texto);
}

.ms-main .ms-abas__lista {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ms-main .ms-abas__lista li {
	margin: 0;
	padding: 0;
}

.ms-main .ms-aba {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--ms-alvo);
	padding: 0 20px;
	border-radius: var(--ms-pilula);
	background: #FFFFFF;
	box-shadow: inset 0 0 0 2px var(--ms-marinho);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--ms-marinho);
	text-decoration: none;
	white-space: nowrap;
}

.ms-main .ms-aba:hover {
	background: var(--ms-fundo);
	color: var(--ms-marinho);
}

.ms-main .ms-aba[aria-current="page"],
.ms-main .ms-aba[aria-current="page"]:hover {
	background: var(--ms-marinho);
	color: #FFFFFF;
}

/* Cartão de preço de referência. */
.ms-main .ms-preco-bloco {
	margin-top: 24px;
	padding: 20px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
}

.ms-main .ms-preco-bloco__titulo {
	margin: 0;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-main .ms-preco-bloco__lista {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.ms-main .ms-preco-bloco__lista--1 {
	grid-template-columns: 1fr;
}

.ms-main .ms-preco-bloco__item {
	min-width: 0;
	margin: 0;
	padding: 0;
}

.ms-main .ms-preco-bloco__grao {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ms-main .ms-preco-bloco__nome {
	font-size: 20px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-main .ms-preco-bloco__valor {
	margin: 12px 0 0;
	font-size: 30px;
	line-height: 1.05;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ms-marinho);
	white-space: nowrap;
}

.ms-main .ms-preco-bloco__valor--consulta {
	font-size: 26px;
	white-space: normal;
}

.ms-main .ms-preco-bloco__unidade {
	margin: 4px 0 0;
	font-size: 16px;
	line-height: 1.3;
	color: var(--ms-texto);
}

.ms-main .ms-preco-bloco__acao {
	margin: 20px 0 0;
}

.ms-main .ms-preco-bloco__acao .ms-btn {
	width: 100%;
	font-size: 18px;
}

.ms-main .ms-banner {
	margin: 20px 0 0;
}

/* A lavoura do grão da página (milhosoja_banner_cidade()), na largura do cartão de preço; a imagem tem 1540 x 520 px. */
.ms-main .ms-banner img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 770 / 260;
	border-radius: var(--ms-raio);
}

/* O texto do post (HTML guardado no post: h2, parágrafos, lista com a data de hoje, h3, "Informativo"). */
.ms-main .ms-texto {
	max-width: 68ch;
	font-size: 17px;
	line-height: 1.6;
	color: var(--ms-texto);
}

.ms-main .ms-texto--cidade {
	margin-top: 36px;
}

.ms-main .ms-texto h2 {
	margin: 0;
	font-size: 26px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--ms-marinho);
	text-align: left;
}

.ms-main .ms-texto center {
	display: block;
	text-align: left;
}

.ms-main .ms-texto center h2 {
	margin-top: 28px;
}

.ms-main .ms-texto h3 {
	margin: 28px 0 0;
	font-size: 21px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-main .ms-texto p {
	margin: 14px 0 0;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.ms-main .ms-texto p:empty {
	display: none;
}

.ms-main .ms-texto ul {
	margin: 14px 0 0;
	padding-left: 20px;
}

.ms-main .ms-texto li {
	margin: 4px 0 0;
}

.ms-main .ms-texto a {
	font-size: inherit;
	color: var(--ms-laranja-texto);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ms-main .ms-texto strong,
.ms-main .ms-texto b {
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-main .ms-texto #data {
	margin-left: 0.3em;
}

.ms-main .ms-texto blockquote {
	margin: 20px 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-style: normal;
}

/* O botão "Enviar proposta" no meio do texto (pedido do Boanerges, 18/10/2026): o mesmo do cartão de preço. O estilo de link
   do texto (laranja escuro, sublinhado) não vale para ele. Largura toda no celular, do tamanho do texto no computador. */
.ms-main .ms-texto .ms-texto__acao {
	margin: 24px 0 0;
}

.ms-main .ms-texto .ms-texto__acao .ms-btn {
	width: 100%;
	font-size: 18px;
	color: var(--ms-marinho);
	text-decoration: none;
}

/* Barra lateral: ver outra cidade e calculadoras. */
.ms-main .ms-lateral__bloco {
	margin: 0 0 20px;
	padding: 24px;
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
}

.ms-main .ms-lateral__titulo {
	margin: 0 0 16px;
	font-size: 26px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--ms-marinho);
}

.ms-main .ms-lateral__bloco .ms-busca .ms-busca__linha {
	flex-direction: column;
	flex-wrap: nowrap;
}

.ms-main .ms-lateral__bloco .ms-busca .ms-busca__caixa {
	flex: none;
}

.ms-main .ms-lateral__lista {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ms-main .ms-lateral__lista li {
	margin: 0;
	padding: 0;
}

.ms-main .ms-lateral__cartao {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	text-decoration: none;
	color: var(--ms-texto);
}

.ms-main .ms-lateral__cartao:hover {
	border-color: var(--ms-marinho);
	color: var(--ms-texto);
}

.ms-main .ms-lateral__icone {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: var(--ms-alvo);
	height: var(--ms-alvo);
	border-radius: var(--ms-pilula);
	background: var(--ms-fundo);
	color: var(--ms-marinho);
}

.ms-main .ms-lateral__texto {
	flex: 1;
	min-width: 0;
}

.ms-main .ms-lateral__nome {
	display: block;
	font-size: 17px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-main .ms-lateral__apoio {
	display: block;
	margin-top: 2px;
	font-size: 15px;
	line-height: 1.4;
	color: var(--ms-texto);
}

.ms-main .ms-lateral__cartao .ms-icone {
	color: var(--ms-texto);
}

/* Mapa: altura fixa, o quadro só carrega ao rolar (assets/js/mapa.js). */
.ms-main .ms-mapa {
	position: relative;
	height: 320px;
	margin-top: 24px;
	overflow: hidden;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
}

.ms-main .ms-mapa__quadro {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	border: 0;
	background: transparent;
}

.ms-main .ms-mapa__aviso {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 20px;
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
	color: var(--ms-texto);
}

.ms-main .ms-mapa__aviso .ms-icone {
	color: var(--ms-verde);
}

.ms-main .ms-mapa[data-carregado] .ms-mapa__aviso {
	display: none;
}

@media (min-width: 768px) {
	.ms-main .ms-cidade .ms-sec__in {
		padding-top: 48px;
		padding-bottom: 72px;
	}

	.ms-main .ms-preco-bloco {
		padding: 28px;
	}

	.ms-main .ms-preco-bloco__titulo {
		font-size: 20px;
	}

	.ms-main .ms-preco-bloco__lista {
		gap: 24px;
		margin-top: 20px;
	}

	.ms-main .ms-preco-bloco__valor {
		font-size: 44px;
	}

	.ms-main .ms-preco-bloco__valor--consulta {
		font-size: 32px;
	}

	.ms-main .ms-preco-bloco__nome {
		font-size: 22px;
	}

	.ms-main .ms-preco-bloco__acao .ms-btn {
		width: auto;
	}

	.ms-main .ms-texto .ms-texto__acao .ms-btn {
		width: auto;
	}

	.ms-main .ms-texto--cidade {
		margin-top: 44px;
		font-size: 18px;
	}

	.ms-main .ms-texto h2 {
		font-size: 30px;
	}

	.ms-main .ms-texto h3 {
		font-size: 22px;
	}

	.ms-main .ms-mapa {
		height: 380px;
	}
}

/* ============================================================
   7. Histórico de preços e fontes ("Como o preço se moveu")
   O desenho do gráfico é o de PriceSeries (SVG); aqui só o entorno. Alvos de 44 px; sem a cor como única pista (traço, marcador).
   ============================================================ */

/* Etiqueta de variação junto do valor. */
.ms-main .ms-tend {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px 4px 10px;
	border-radius: var(--ms-pilula);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	white-space: nowrap;
}

.ms-main .ms-tend--queda {
	background: #FBE3DF;
	color: #A12A1E;
}

.ms-main .ms-tend--alta {
	background: var(--ms-aviso-ok);
	color: #2F5A06;
}

.ms-main .ms-tend--estavel {
	background: var(--ms-fundo);
	color: var(--ms-texto);
}

.ms-main .ms-tend .ms-icone {
	width: 16px;
	height: 16px;
	stroke-width: 3;
}

/* Cartão de preço da cidade com a etiqueta ao lado do valor (quebra para baixo quando falta espaço). */
.ms-main .ms-preco-bloco__linha-valor {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-top: 12px;
}

.ms-main .ms-preco-bloco__linha-valor .ms-preco-bloco__valor {
	margin: 0;
}

/* Cartão de tendência do estado: valor, etiqueta, minigráfico e a fonte, em coluna. */
.ms-main .ms-preco-cartao.ms-preco-cartao--tendencia {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: 16px 20px 14px;
}

.ms-main .ms-preco-cartao--tendencia .ms-preco-cartao__valor {
	margin: 0;
	font-size: 40px;
	text-align: left;
}

.ms-main .ms-preco-cartao--tendencia .ms-preco-cartao__unidade {
	margin: 0;
	font-size: 15px;
	text-align: left;
}

.ms-main .ms-hist__spark {
	display: block;
	width: 100%;
	height: auto;
}

/* Aviso de preço (só desenhado). */
.ms-main .ms-aviso {
	margin-top: 16px;
}

.ms-main .ms-aviso .ms-aviso__botao {
	gap: 10px;
	font-size: 16px;
}

.ms-main .ms-aviso__painel {
	margin-top: 12px;
	padding: 16px 20px 18px;
	border: 1px solid var(--ms-linha);
	border-radius: 16px;
	background: #FFFFFF;
}

.ms-main .ms-aviso__painel[hidden] {
	display: none;
}

.ms-main .ms-aviso__linha {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
}

.ms-main .ms-aviso__rotulo {
	flex: 1 1 300px;
	min-width: 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-marinho);
}

.ms-main .ms-aviso__campo {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-main .ms-aviso__entrada {
	display: block;
	width: 104px;
	min-height: 48px;
	padding: 0 12px;
	border: 2px solid var(--ms-marinho);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	font-family: var(--ms-fonte);
	font-size: 18px;
	font-weight: 700;
	color: var(--ms-marinho);
	box-sizing: border-box;
}

.ms-main .ms-aviso__unidade {
	font-weight: 400;
	color: var(--ms-texto);
}

.ms-main .ms-aviso__msg {
	margin: 12px 0 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--ms-marinho);
}

.ms-main .ms-aviso__msg:empty {
	display: none;
}

.ms-main .ms-aviso__entre {
	margin: 8px 0 0;
	font-size: 15px;
	line-height: 1.5;
}

.ms-main .ms-aviso__entre a {
	color: var(--ms-texto);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ms-main .ms-aviso__entre a:hover {
	color: var(--ms-marinho);
}

/* O bloco. */
.ms-main .ms-hist {
	container-type: inline-size;
	container-name: ms-hist;
	margin-top: 28px;
	padding: 20px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
}

.ms-main .ms-hist__titulo {
	margin: 0;
	font-size: 26px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--ms-marinho);
}

/* Os controles só aparecem quando o script roda (data-pronto): sem JavaScript o espaço fica reservado e o gráfico estático basta. */
.ms-main .ms-hist__controles {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 48px;
	margin-top: 16px;
	visibility: hidden;
}

.ms-main .ms-hist__controles[data-pronto] {
	visibility: visible;
}

.ms-main .ms-seg {
	display: inline-flex;
	gap: 2px;
	padding: 2px;
	border-radius: var(--ms-pilula);
	background: var(--ms-fundo);
}

.ms-main .ms-seg__botao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 44px;
	padding: 0 20px;
	border: 0;
	border-radius: var(--ms-pilula);
	background: transparent;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--ms-marinho);
	cursor: pointer;
}

.ms-main .ms-seg__botao:hover {
	background: #E7E7E7;
}

.ms-main .ms-seg__botao[aria-selected="true"],
.ms-main .ms-seg__botao[aria-pressed="true"],
.ms-main .ms-seg__botao[aria-selected="true"]:hover,
.ms-main .ms-seg__botao[aria-pressed="true"]:hover {
	background: var(--ms-marinho);
	color: #FFFFFF;
}

.ms-main .ms-hist__grafico {
	position: relative;
	margin-top: 16px;
	touch-action: pan-y;
	border-radius: var(--ms-raio);
}

.ms-main .ms-hist__grafico:focus-visible {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

/* O guia (linha vertical e os pontos da semana) e o balão com os valores, só com o mouse, o toque ou as setas. */
.ms-main .ms-hist__guia {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.ms-main .ms-hist__guia svg {
	position: absolute;
	display: block;
	overflow: visible;
}

.ms-main .ms-hist__balao {
	position: absolute;
	z-index: 2;
	width: max-content;
	min-width: 210px;
	max-width: 92%;
	padding: 10px 12px;
	border: 1px solid #B8BEC6;
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	box-shadow: 0 8px 24px rgba(13, 27, 42, 0.18);
	font-size: 15px;
	line-height: 1.35;
	color: var(--ms-marinho);
	pointer-events: none;
	opacity: 0;
}

.ms-main .ms-hist__balao[data-ativo] {
	opacity: 1;
}

.ms-main .ms-hist__balao-titulo {
	margin: 0 0 6px;
	font-weight: 800;
}

.ms-main .ms-hist__balao ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ms-main .ms-hist__balao li {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 3px 0;
}

.ms-main .ms-hist__balao-icone {
	display: inline-flex;
	flex: none;
}

.ms-main .ms-hist__balao-nome {
	flex: 1;
	min-width: 0;
}

.ms-main .ms-hist__balao-valor {
	flex: none;
	font-weight: 800;
	white-space: nowrap;
}

.ms-main .ms-hist__balao-data {
	font-weight: 400;
	color: var(--ms-texto);
}

/* A bolinha com o número da linha (1 é a principal), na cor do traço dela. */
.ms-main .ms-hist__num {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: var(--ms-pilula);
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	color: #FFFFFF;
}

.ms-main .ms-hist__num--e0 {
	background: #A8520A;
}

.ms-main .ms-hist__num--e1 {
	background: #1F5C14;
}

.ms-main .ms-hist__num--e2 {
	background: #0D1B2A;
}

.ms-main .ms-hist__num--e3 {
	background: #6B7280;
}

/* O nível (produtor, atacado) em destaque no nome da fonte. */
.ms-main .ms-hist__nivel {
	padding: 0 6px;
	border-radius: 6px;
	background: #E4E9EE;
	font-weight: 800;
	color: var(--ms-marinho);
}

.ms-main .ms-hist__svg {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

.ms-main .ms-hist__svg--celular {
	display: none;
}

@container ms-hist (max-width: 560px) {
	.ms-main .ms-hist__svg--computador {
		display: none;
	}

	.ms-main .ms-hist__svg--celular {
		display: block;
	}
}

.ms-main .ms-hist__legenda {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
}

.ms-main .ms-hist__chips {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	gap: 8px;
	min-width: 0;
}

.ms-main .ms-hist__chip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ms-marinho);
}

.ms-main .ms-hist__chip svg {
	flex: none;
	display: block;
}

.ms-main .ms-hist__chip--tira {
	gap: 8px;
	padding: 0 0 0 12px;
	border-radius: var(--ms-pilula);
	box-shadow: inset 0 0 0 1px #B8BEC6;
}

.ms-main .ms-hist__x {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: var(--ms-pilula);
	background: transparent;
	color: var(--ms-texto);
	cursor: pointer;
}

.ms-main .ms-hist__x:hover {
	background: #E7E7E7;
	color: var(--ms-marinho);
}

.ms-main .ms-hist__comparar {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 12px;
	border: 0;
	border-radius: var(--ms-pilula);
	background: #FFFFFF;
	box-shadow: inset 0 0 0 1px #8A93A0;
	font-family: var(--ms-fonte);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--ms-marinho);
	cursor: pointer;
}

.ms-main .ms-hist__comparar[hidden] {
	display: none;
}

.ms-main .ms-hist__comparar:hover {
	background: var(--ms-fundo);
}

.ms-main .ms-hist__comparar[aria-expanded="true"] {
	background: var(--ms-fundo);
	box-shadow: inset 0 0 0 2px var(--ms-marinho);
}

/* O seletor de fontes. */
.ms-main .ms-hist__seletor {
	max-width: 600px;
	margin: 12px 0 0 auto;
	padding: 16px;
	border: 1px solid #B8BEC6;
	border-radius: 16px;
	background: #FFFFFF;
	box-shadow: 0 12px 32px rgba(13, 27, 42, 0.16);
}

.ms-main .ms-hist__seletor[hidden] {
	display: none;
}

.ms-main .ms-hist__busca {
	position: relative;
	margin-bottom: 12px;
}

.ms-main .ms-hist__busca-icone {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 14px;
	display: flex;
	align-items: center;
	color: var(--ms-texto);
	pointer-events: none;
}

.ms-main .ms-hist__busca input {
	display: block;
	width: 100%;
	min-height: 44px;
	padding: 0 14px 0 42px;
	border: 1px solid #8A93A0;
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 500;
	color: var(--ms-marinho);
	box-sizing: border-box;
}

.ms-main .ms-hist__grupo {
	margin-top: 12px;
}

.ms-main .ms-hist__grupo:first-child {
	margin-top: 0;
}

.ms-main .ms-hist__grupo-titulo {
	margin: 0 0 2px;
	padding: 0 10px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--ms-texto);
}

.ms-main .ms-hist__grupo ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ms-main .ms-hist__opcao {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 52px;
	padding: 6px 10px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	font-family: var(--ms-fonte);
	text-align: left;
	white-space: normal;
	cursor: pointer;
}

.ms-main .ms-hist__opcao:hover {
	background: var(--ms-fundo);
}

.ms-main .ms-hist__opcao[aria-disabled="true"] {
	cursor: default;
}

.ms-main .ms-hist__opcao[aria-checked="true"][aria-disabled="true"] {
	background: var(--ms-fundo);
}

.ms-main .ms-hist__caixa {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 6px;
	background: var(--ms-fundo);
	box-shadow: inset 0 0 0 2px #C9CED4;
	color: #FFFFFF;
}

.ms-main .ms-hist__opcao[aria-checked="true"] .ms-hist__caixa {
	background: var(--ms-marinho);
	box-shadow: none;
}

.ms-main .ms-hist__opcao[aria-checked="true"][aria-disabled="true"] .ms-hist__caixa {
	background: var(--ms-texto);
}

.ms-main .ms-hist__icone-traco {
	display: inline-flex;
	flex: none;
}

.ms-main .ms-hist__icone-traco--apagado {
	opacity: 0.45;
}

.ms-main .ms-hist__opcao-texto {
	display: block;
	flex: 1;
	min-width: 0;
}

.ms-main .ms-hist__opcao-nome {
	display: block;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ms-marinho);
}

.ms-main .ms-hist__opcao[aria-checked="false"][aria-disabled="true"] .ms-hist__opcao-nome {
	color: #6B7280;
}

.ms-main .ms-hist__opcao-apoio {
	display: block;
	margin-top: 1px;
	font-size: 14px;
	line-height: 1.35;
	color: var(--ms-texto);
}

.ms-main .ms-hist__selo {
	flex: none;
	padding: 2px 10px;
	border-radius: var(--ms-pilula);
	background: var(--ms-fundo);
	box-shadow: inset 0 0 0 1px #B8BEC6;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-texto);
}

.ms-main .ms-hist__selo--escuro {
	background: var(--ms-marinho);
	box-shadow: none;
	font-weight: 700;
	color: #FFFFFF;
}

.ms-main .ms-hist__vazio {
	margin: 0;
	padding: 6px 10px;
	font-size: 15px;
	color: var(--ms-texto);
}

.ms-main .ms-hist__contagem {
	margin: 14px 0 0;
	padding: 12px 10px 0;
	border-top: 1px solid var(--ms-linha);
	font-size: 14px;
	line-height: 1.45;
	color: var(--ms-texto);
}

/* Legenda da fonte e tabela das semanas. */
.ms-main .ms-hist__fonte {
	margin: 14px 0 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--ms-texto);
}

.ms-main .ms-hist__tabela {
	margin-top: 8px;
}

.ms-main .ms-hist__tabela:not([open]) > summary {
	display: none;
}

.ms-main .ms-hist__tabela > summary {
	display: flex;
	align-items: center;
	min-height: 44px;
	font-size: 16px;
	font-weight: 700;
	color: var(--ms-marinho);
	cursor: pointer;
}

.ms-main .ms-hist__rolagem {
	overflow-x: auto;
}

.ms-main .ms-hist__tab {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
	line-height: 1.4;
}

.ms-main .ms-hist__tab th,
.ms-main .ms-hist__tab td {
	padding: 8px 10px;
	border-bottom: 1px solid var(--ms-linha);
	text-align: right;
	white-space: nowrap;
	color: var(--ms-marinho);
}

.ms-main .ms-hist__tab thead th {
	font-weight: 700;
	white-space: normal;
	vertical-align: bottom;
}

.ms-main .ms-hist__tab th:first-child {
	text-align: left;
}

.ms-main .ms-hist__tab tbody th {
	font-weight: 600;
}

@media (min-width: 768px) {
	.ms-main .ms-hist {
		padding: 28px;
	}

	.ms-main .ms-hist__titulo {
		font-size: 30px;
	}
}

@container ms-hist (max-width: 560px) {
	.ms-main .ms-hist__opcao-apoio,
	.ms-main .ms-hist__fonte,
	.ms-main .ms-hist__contagem,
	.ms-main .ms-hist__selo {
		font-size: 15px;
	}

	.ms-main .ms-seg__botao {
		padding: 0 16px;
	}

	/* A opção com o selo "linha principal": o selo desce para baixo do texto em vez de espremê-lo. */
	.ms-main .ms-hist__opcao {
		flex-wrap: wrap;
	}

	.ms-main .ms-hist__opcao-texto {
		flex: 1 1 130px;
	}

	.ms-main .ms-hist__opcao .ms-hist__selo {
		margin-left: 80px;
	}
}

@media (max-width: 599px) {
	.ms-main .ms-aviso .ms-aviso__botao,
	.ms-main .ms-aviso .ms-aviso__criar {
		width: 100%;
		box-sizing: border-box;
	}

	.ms-main .ms-aviso__painel {
		padding: 16px;
	}

	.ms-main .ms-hist__comparar {
		margin-left: 0;
	}
}

/* ---- assets/css/anuncios.css ---- */
/*
 * MilhoSoja · Anúncios: a lista /anuncios/ (busca [milhosoja_anuncios], do plugin, classes msb-) e a página de um anúncio
 * (single-classificados.php, classes ms-anuncio, ms-galeria, ms-carrossel).
 *
 * Fonte da verdade: o protótipo (docs/design/quadro/project/wp-v1, telas 06 e 07). Este arquivo recebeu o CSS que
 * inc/busca.php imprimia na página (o plugin só devolve a marcação). A faixa de título, a seção e o texto do anúncio usam as
 * peças de precos.css (.ms-faixa, .ms-sec, .ms-texto). Seletores com duas classes, pelo mesmo motivo de base.css.
 */

/* ============================================================
   1. A lista: filtros
   ============================================================ */

.msb,
.msb * {
	box-sizing: border-box;
}

.msb {
	font-family: var(--ms-fonte);
	font-size: 16px;
	line-height: 1.4;
	color: var(--ms-texto);
}

.msb .msb-sec {
	background: #FFFFFF;
}

.msb .msb-sec--lista {
	background: var(--ms-fundo);
}

.msb .msb-in {
	max-width: var(--ms-container);
	margin: 0 auto;
	padding: 32px var(--ms-gutter-celular);
}

.msb .msb-sec--lista .msb-in {
	padding-bottom: 48px;
}

.msb .msb-so-leitor {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Celular: a busca fica solta sobre o fundo branco (sem caixa), como no protótipo; a caixa com borda vem a partir de 768 px. */
.msb .msb-form {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.msb .msb-rotulo {
	display: block;
	margin: 0 0 6px;
	padding: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.msb .msb-busca-linha {
	display: flex;
	gap: 8px;
}

.msb .msb-busca-caixa {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
}

.msb .msb-busca-icone {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 14px;
	z-index: 1;
	display: flex;
	align-items: center;
	color: var(--ms-texto);
	pointer-events: none;
}

.msb input[type="search"],
.msb input[type="text"],
.msb select {
	display: block;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1.5px solid var(--ms-campo-borda);
	border-radius: var(--ms-raio);
	background-color: #FFFFFF;
	box-shadow: none;
	font-family: var(--ms-fonte);
	font-size: 16px;
	line-height: 1.2;
	color: var(--ms-marinho);
}

.msb .msb-busca-caixa input[type="search"] {
	padding-left: 44px;
	-webkit-appearance: none;
	appearance: none;
}

.msb input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.msb input::placeholder {
	color: var(--ms-apoio);
	opacity: 1;
}

.msb select {
	padding-right: 38px;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none' stroke='%230D1B2A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}

.msb input[type="search"]:focus-visible,
.msb input[type="text"]:focus-visible,
.msb select:focus-visible {
	border-color: var(--ms-marinho);
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

.msb .msb-botao.msb-botao {
	flex: 0 0 auto;
	min-height: 48px;
	padding: 0 22px;
	font-size: 16px;
}

/* Celular: o botão "Filtros" abre e fecha o painel (sem JavaScript); computador: o painel fica sempre aberto. */
.msb .msb-filtros-botao {
	margin: 12px 0 0;
}

.msb .msb-filtros-botao summary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 20px;
	border-radius: var(--ms-pilula);
	background: #FFFFFF;
	box-shadow: inset 0 0 0 2px var(--ms-marinho);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--ms-marinho);
	list-style: none;
	cursor: pointer;
}

.msb .msb-filtros-botao summary::-webkit-details-marker {
	display: none;
}

.msb .msb-filtros-botao[open] summary {
	background: var(--ms-fundo);
}

.msb .msb-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 24px;
	padding: 0 7px;
	border-radius: 12px;
	background: var(--ms-marinho);
	font-size: 14px;
	font-weight: 700;
	color: #FFFFFF;
}

.msb .msb-filtros-botao:not([open]) ~ .msb-painel {
	display: none;
}

.msb .msb-filtros-grade {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	margin-top: 16px;
}

.msb .msb-campo {
	min-width: 0;
}

.msb .msb-filtros-pe {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	margin-top: 12px;
}

.msb .msb-ajuda {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.msb .msb-link.msb-link {
	display: inline-flex;
	align-items: center;
	min-height: var(--ms-alvo);
	padding: 0 4px;
	font-size: 16px;
	font-weight: 600;
	color: var(--ms-laranja-texto);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.msb .msb-link.msb-link:hover {
	color: var(--ms-marinho);
}

@media (min-width: 768px) {
	.msb .msb-in {
		padding: 40px var(--ms-gutter);
	}

	.msb .msb-sec--lista .msb-in {
		padding-bottom: 72px;
	}

	.msb .msb-form {
		padding: 24px;
		border: 1px solid var(--ms-linha);
		border-radius: var(--ms-raio);
		background: #FFFFFF;
	}

	.msb .msb-filtros-botao {
		display: none;
	}

	.msb .msb-filtros-botao:not([open]) ~ .msb-painel {
		display: block;
	}

	.msb .msb-filtros-grade {
		grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));
		margin-top: 16px;
	}
}

/* ============================================================
   2. A lista: resultado e cartões (também usados no carrossel da página do anúncio)
   ============================================================ */

.msb .msb-lista-topo {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 24px;
	margin-bottom: 20px;
}

.msb .msb-secao-titulo {
	margin: 0;
	font-size: 26px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--ms-marinho);
}

.msb .msb-contagem {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.msb .msb-pagina-de {
	font-weight: 400;
	color: var(--ms-texto);
}

.msb .msb-grade {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msb .msb-cartao {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	list-style: none;
}

.msb .msb-cartao:hover {
	border-color: var(--ms-marinho);
}

.msb .msb-foto {
	position: relative;
	flex: none;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--ms-fundo);
}

.msb .msb-foto-img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.msb .msb-sem-foto {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	height: 100%;
	background: var(--ms-fundo);
	font-size: 14px;
	color: var(--ms-texto);
}

.msb .msb-sem-foto-icone {
	display: block;
	width: 72px;
	height: 72px;
	object-fit: contain;
}

.msb .msb-etiquetas {
	position: absolute;
	top: 12px;
	left: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	max-width: calc(100% - 24px);
}

.msb .msb-etiqueta {
	display: inline-block;
	padding: 3px 12px;
	border-radius: var(--ms-pilula);
	background: #FFFFFF;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--ms-marinho);
}

.msb .msb-cartao-corpo {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	padding: 16px 18px 18px;
}

.msb .msb-titulo {
	min-height: 70px;
	margin: 0;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--ms-marinho);
}

/* O link do título tem pelo menos 44 px de altura (o preenchimento é compensado pela margem negativa) e, com o ::after abaixo,
   o toque vale no cartão inteiro. O título corta em 3 linhas. */
.msb .msb-titulo a,
.msb .msb-titulo a:hover {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	margin: -11px 0;
	padding: 11px 0;
	overflow: hidden;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: var(--ms-marinho);
	text-decoration: none;
}

/* O cartão inteiro é o link do título (área de toque grande, um só link por cartão para o leitor de tela). */
.msb .msb-titulo a::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
}

.msb .msb-titulo a:focus-visible {
	outline: 0;
}

.msb .msb-cartao:has(.msb-titulo a:focus-visible) {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

.msb .msb-preco {
	margin: 0;
	line-height: 1.2;
}

.msb .msb-valor {
	font-size: 24px;
	font-weight: 800;
	color: var(--ms-marinho);
}

.msb .msb-valor--combinar {
	font-size: 19px;
	font-weight: 700;
}

.msb .msb-unidade {
	font-size: 15px;
	color: var(--ms-texto);
}

.msb .msb-detalhes-linhas {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: auto;
	font-size: 15px;
	line-height: 1.4;
	color: var(--ms-texto);
}

.msb .msb-local,
.msb .msb-data {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 15px;
	color: var(--ms-texto);
}

.msb .msb-icone {
	flex: none;
	color: var(--ms-texto);
}

.msb .msb-sem-local {
	font-style: italic;
}

.msb .msb-vazio {
	padding: 32px 24px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	text-align: center;
}

.msb .msb-vazio p {
	margin: 0 0 8px;
	font-size: 16px;
	color: var(--ms-texto);
}

.msb .msb-vazio .msb-vazio-titulo {
	font-size: 20px;
	font-weight: 700;
	color: var(--ms-marinho);
}

.msb .msb-vazio .ms-btn {
	margin-top: 12px;
}

.msb .msb-paginas ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 12px;
	margin: 40px 0 0;
	padding: 0;
	list-style: none;
}

.msb .msb-paginas li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.msb .msb-pagina,
.msb .msb-pagina:hover {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 48px;
	padding: 0 16px;
	border-radius: var(--ms-pilula);
	background: #FFFFFF;
	box-shadow: inset 0 0 0 2px var(--ms-marinho);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--ms-marinho);
	text-decoration: none;
}

.msb a.msb-pagina:hover {
	background: var(--ms-fundo);
}

.msb .msb-pagina--seta {
	padding: 0 20px;
}

.msb .msb-pagina--atual,
.msb .msb-pagina--atual:hover {
	background: var(--ms-marinho);
	color: #FFFFFF;
}

.msb .msb-pagina--off,
.msb .msb-pagina--off:hover {
	background: transparent;
	box-shadow: none;
	color: var(--ms-texto);
}

.msb .msb-reticencias {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	min-height: 48px;
	color: var(--ms-texto);
}

/* Celular: o cartão da lista fica deitado (foto à esquerda), como no protótipo. O do carrossel continua em pé. */
@media (max-width: 767px) {
	.msb .msb-lista .msb-grade {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.msb .msb-lista .msb-cartao {
		flex-direction: row;
	}

	.msb .msb-lista .msb-foto {
		flex: 0 0 34%;
		align-self: stretch;
		aspect-ratio: auto;
		min-height: 150px;
	}

	.msb .msb-lista .msb-titulo {
		min-height: 0;
	}

	.msb .msb-lista .msb-etiquetas {
		top: 8px;
		left: 8px;
		max-width: calc(100% - 16px);
	}
}

@media (min-width: 768px) {
	.msb .msb-secao-titulo {
		font-size: 30px;
	}
}

/* ============================================================
   3. A página de um anúncio
   ============================================================ */

.ms-main .ms-anuncio__grade {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas:
		"galeria"
		"cartao"
		"sobre";
	gap: 28px;
	padding-top: 24px;
	padding-bottom: 48px;
}

.ms-main .ms-galeria {
	grid-area: galeria;
	min-width: 0;
	margin: 0;
}

.ms-main .ms-anuncio__lateral {
	grid-area: cartao;
	min-width: 0;
}

.ms-main .ms-anuncio__sobre {
	grid-area: sobre;
	min-width: 0;
}

.ms-main .ms-galeria__palco {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
}

.ms-main .ms-galeria__foto {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.ms-main .ms-galeria__foto[hidden] {
	display: none;
}

.ms-main .ms-galeria__contador {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 1;
	padding: 3px 12px;
	border-radius: var(--ms-pilula);
	background: #FFFFFF;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--ms-marinho);
}

.ms-main .ms-galeria__sem-foto {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	height: 100%;
	font-size: 17px;
	color: var(--ms-texto);
}

.ms-main .ms-galeria__miniaturas {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
	gap: 12px;
	max-width: 560px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.ms-main .ms-galeria__miniaturas li {
	margin: 0;
	padding: 0;
}

.ms-main .ms-galeria .ms-galeria__miniatura {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	min-height: var(--ms-alvo);
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 8px;
	background: var(--ms-fundo);
	box-shadow: 0 0 0 1px var(--ms-campo-borda);
	cursor: pointer;
}

.ms-main .ms-galeria .ms-galeria__miniatura[aria-current="true"] {
	box-shadow: 0 0 0 3px var(--ms-marinho);
}

.ms-main .ms-galeria__miniatura img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Cartão de preço. Em ordem de leitura no computador (preço, dados, botão); no celular o botão sobe antes dos dados. */
.ms-main .ms-anuncio__cartao {
	display: flex;
	flex-direction: column;
	padding: 22px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
}

.ms-main .ms-anuncio__rotulo {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-texto);
}

.ms-main .ms-anuncio__preco {
	margin: 2px 0 0;
	line-height: 1.1;
}

.ms-main .ms-anuncio__valor {
	font-size: 44px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ms-marinho);
	white-space: nowrap;
}

.ms-main .ms-anuncio__valor--combinar {
	font-size: 30px;
	white-space: normal;
}

.ms-main .ms-anuncio__unidade {
	font-size: 18px;
	color: var(--ms-texto);
}

.ms-main .ms-anuncio__dados {
	order: 4;
	margin: 16px 0 0;
	padding: 0;
}

.ms-main .ms-anuncio__dados > div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding: 12px 0;
	border-top: 1px solid var(--ms-linha);
}

.ms-main .ms-anuncio__dados dt {
	flex: none;
	margin: 0;
	font-size: 16px;
	line-height: 1.4;
	color: var(--ms-texto);
}

.ms-main .ms-anuncio__dados dd {
	min-width: 0;
	margin: 0;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 600;
	color: var(--ms-marinho);
	text-align: right;
}

.ms-main .ms-anuncio__classificacao {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ms-main .ms-anuncio__classificacao li {
	margin: 0 0 2px;
	padding: 0;
}

.ms-main .ms-anuncio__botao {
	margin: 20px 0 0;
}

.ms-main .ms-anuncio__botao .ms-btn {
	padding: 0 20px;
	font-size: 17px;
	white-space: normal;
}

.ms-main .ms-anuncio__explica {
	margin: 14px 0 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--ms-texto);
}

.ms-main .ms-anuncio__cartao .milhosoja-so-admin {
	order: 6;
}

.ms-main .ms-anuncio__titulo-secao {
	margin: 0;
	font-size: 26px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--ms-marinho);
}

.ms-main .ms-anuncio__sobre .ms-texto {
	margin-top: 14px;
}

/* Carrossel "Outros anunciantes": o trilho rola na horizontal (scroll-snap); as setas andam um cartão. */
.ms-main .ms-outros__topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.ms-main .ms-carrossel__setas {
	display: flex;
	flex: none;
	gap: 8px;
}

.ms-main .ms-carrossel__seta {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--ms-alvo);
	height: var(--ms-alvo);
	padding: 0;
	border: 0;
	border-radius: var(--ms-pilula);
	background: #FFFFFF;
	box-shadow: inset 0 0 0 2px var(--ms-marinho);
	color: var(--ms-marinho);
	cursor: pointer;
}

.ms-main .ms-carrossel__seta:hover {
	background: var(--ms-fundo);
	color: var(--ms-marinho);
}

.ms-main .ms-carrossel__seta:disabled {
	background: transparent;
	box-shadow: inset 0 0 0 2px var(--ms-linha);
	color: var(--ms-campo-borda);
	cursor: default;
}

.ms-main .msb.ms-carrossel .ms-carrossel__trilho {
	display: flex;
	grid-template-columns: none;
	gap: 20px;
	margin: 28px -6px 0;
	padding: 6px 6px 16px; /* o contorno de foco do cartão (3 px + 2 px) não é cortado pela rolagem */
	overflow-x: auto;
	scroll-padding: 0 6px;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.ms-main .msb.ms-carrossel .ms-carrossel__trilho > li {
	flex: 0 0 min(280px, 78%);
	scroll-snap-align: start;
}

@media (min-width: 900px) {
	.ms-main .ms-anuncio__grade {
		grid-template-columns: minmax(0, 1fr) minmax(340px, 440px);
		grid-template-areas:
			"galeria cartao"
			"sobre cartao";
		grid-template-rows: auto 1fr;
		column-gap: 40px;
		padding-top: 48px;
		padding-bottom: 72px;
	}

	.ms-main .ms-anuncio__lateral {
		align-self: start;
	}

	.ms-main .ms-anuncio__sobre {
		margin-top: 12px;
	}

	.ms-main .ms-anuncio__cartao {
		padding: 28px;
	}

	.ms-main .ms-anuncio__valor {
		font-size: 52px;
	}

	.ms-main .ms-anuncio__valor--combinar {
		font-size: 34px;
	}

	.ms-main .ms-anuncio__dados {
		order: 0;
	}

	.ms-main .ms-anuncio__titulo-secao {
		font-size: 30px;
	}

	.ms-main .ms-anuncio__sobre .ms-texto {
		font-size: 18px;
	}
}

/* ---- assets/css/paginas.css ---- */
/*
 * MilhoSoja · Páginas (Proposta, Calculadoras, Sobre, Contato, Política de privacidade, Mapa do site).
 *
 * Telas 08 a 12, 19 e 20 do protótipo (docs/design/quadro/project/wp-v1). Usa os tokens de tokens.css e as peças de base.css
 * (.ms-btn, .ms-link, .ms-escuro). Tudo começa em .ms-pg (o <main> de cada modelo) e usa o prefixo ms-pg-.
 *
 * Sobre a força dos seletores: o kit do Elementor põe `.elementor-kit-9 a { font-size: 14px }`, `h1 { 20px }`, `h2`, `h3` e
 * `p { margin-block-end: 2px }` em todas as páginas, e o Hello Elementor põe cor, borda e fundo em `a`, `button` e `input`.
 * Por isso os seletores daqui são sempre de duas classes (`.ms-pg .ms-pg-x`, força 0,2,0) e dizem o tamanho, a margem e a cor
 * de cada coisa.
 *
 * Pontos de quebra: 768 px (colunas, botões em linha, índice da política aberto).
 */

/* ============================================================
   1. Base da página
   ============================================================ */

.ms-pg {
	font-family: var(--ms-fonte);
	font-size: 17px;
	line-height: 1.6;
	color: var(--ms-texto);
	background: var(--ms-branco);
}

.ms-pg *,
.ms-pg *::before,
.ms-pg *::after {
	box-sizing: border-box;
}

.ms-pg .ms-pg-cont {
	max-width: var(--ms-container);
	margin: 0 auto;
	padding: 0 var(--ms-gutter-celular);
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-cont {
		padding: 0 var(--ms-gutter);
	}
}

.ms-pg .ms-pg-secao {
	padding: 48px 0;
	background: var(--ms-branco);
}

.ms-pg .ms-pg-secao--cinza {
	background: var(--ms-fundo);
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-secao {
		padding: 72px 0;
	}

	.ms-pg .ms-pg-secao--curta {
		padding: 56px 0;
	}
}

.ms-pg .ms-pg-h2 {
	margin: 0 0 20px;
	font-size: 24px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-pg .ms-pg-h2--grande {
	margin: 0;
	font-size: 28px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.ms-pg .ms-pg-h2--medio {
	margin: 0 0 16px;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-h2--grande {
		font-size: 36px;
	}
}

.ms-pg .ms-pg-h3 {
	margin: 0 0 16px;
	font-size: 22px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-pg .ms-pg-lead {
	max-width: 62ch;
	margin: 10px 0 0;
	font-size: 18px;
	line-height: 1.55;
	color: var(--ms-texto);
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-lead {
		font-size: 20px;
	}
}

/* Texto corrido: parágrafos de 62 caracteres de largura, negrito em marinho. */
.ms-pg .ms-pg-prosa {
	max-width: 62ch;
	margin-top: 20px;
}

.ms-pg .ms-pg-prosa p {
	margin: 14px 0 0;
	font-size: 17px;
	line-height: 1.6;
	color: var(--ms-texto);
}

.ms-pg .ms-pg-prosa p:first-child {
	margin-top: 0;
}

.ms-pg .ms-pg-prosa strong,
.ms-pg .ms-pg-prosa b {
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-pg .ms-pg-prosa ul,
.ms-pg .ms-pg-prosa ol {
	margin: 14px 0 0;
	padding: 0 0 0 24px;
}

.ms-pg .ms-pg-prosa ul {
	list-style: disc;
}

.ms-pg .ms-pg-prosa li {
	margin: 6px 0 0;
	padding: 0;
	font-size: 17px;
	line-height: 1.6;
	color: var(--ms-texto);
}

.ms-pg .ms-pg-prosa a {
	font-size: inherit;
	color: var(--ms-laranja-texto);
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-prosa p,
	.ms-pg .ms-pg-prosa li {
		font-size: 18px;
	}
}

.ms-pg p .ms-link.ms-link,
.ms-pg .ms-pg-nota .ms-link.ms-link {
	font-size: inherit;
}

.ms-pg .ms-pg-prosa-curta {
	margin: 20px 0 0;
	font-size: 17px;
	line-height: 1.6;
	color: var(--ms-texto);
}

/* Convite a entrar ou criar conta (página de proposta, para quem não está logado). */
.ms-pg .ms-pg-convite__texto {
	margin: 12px 0 0;
	font-size: 17px;
	line-height: 1.6;
	color: var(--ms-texto);
}

.ms-pg .ms-pg-convite__botoes {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.ms-pg .ms-pg-convite__botoes .ms-btn {
	flex: 1 1 100%;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-convite__botoes .ms-btn {
		flex: 0 0 auto;
		min-width: 180px;
	}
}

/* Cartão: só a borda #E7E7E7. */
.ms-pg .ms-pg-cartao {
	padding: 22px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: var(--ms-branco);
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-cartao {
		padding: 28px;
	}

	.ms-pg .ms-pg-cartao--form {
		padding: 32px;
	}
}

/* Duas colunas: texto ou formulário de um lado, o resto do outro (empilham no celular). */
.ms-pg .ms-pg-duas {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr));
	gap: 40px 56px;
	align-items: start;
}

.ms-pg .ms-pg-duas--form {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}

.ms-pg .ms-pg-duas--form > .ms-pg-principal {
	flex: 1 1 560px;
	min-width: 0;
}

.ms-pg .ms-pg-duas--form > .ms-pg-lateral {
	flex: 1 1 320px;
	min-width: 0;
	max-width: 440px;
}

.ms-pg .ms-pg-lateral {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

.ms-pg .ms-pg-principal {
	min-width: 0;
}

/* ============================================================
   2. Faixa de título (migalha, h1 e frase de apoio)
   ============================================================ */

.ms-pg .ms-pg-topo {
	background: var(--ms-marinho);
	border-bottom: 4px solid var(--ms-verde-decoracao);
}

.ms-pg .ms-pg-topo .ms-pg-cont {
	padding-top: 4px;
	padding-bottom: 32px;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-topo .ms-pg-cont {
		padding-top: 8px;
		padding-bottom: 48px;
	}
}

.ms-pg .ms-pg-migalha {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 15px;
	color: var(--ms-texto-escuro);
}

.ms-pg .ms-pg-migalha li {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	margin: 0;
	padding: 0;
}

.ms-pg .ms-pg-migalha li[aria-current="page"] {
	font-weight: 600;
	color: #FFFFFF;
}

.ms-pg .ms-pg-migalha a {
	display: inline-flex;
	align-items: center;
	min-width: 44px;
	min-height: 44px;
	font-size: 15px;
	font-weight: 500;
	color: #FFFFFF;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ms-pg .ms-pg-migalha a:hover,
.ms-pg .ms-pg-migalha a:focus-visible {
	color: var(--ms-laranja-claro);
}

.ms-pg .ms-pg-migalha li > span[aria-hidden] {
	color: var(--ms-apoio-escuro);
}

.ms-pg .ms-pg-topo__titulo {
	margin: 4px 0 0;
	font-size: 32px;
	line-height: 1.15;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: #FFFFFF;
}

.ms-pg .ms-pg-topo__sub {
	max-width: 62ch;
	margin: 12px 0 0;
	font-size: 17px;
	line-height: 1.55;
	color: var(--ms-texto-escuro);
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-topo__titulo {
		margin-top: 8px;
		font-size: 44px;
	}

	.ms-pg .ms-pg-topo__sub {
		font-size: 19px;
	}
}

/* ============================================================
   3. Formulários (Proposta e Calculadoras)
   ============================================================ */

.ms-pg .ms-pg-form {
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin: 0;
}

.ms-pg .ms-pg-form[hidden],
.ms-pg .ms-pg-resumo[hidden],
.ms-pg .ms-pg-erro[hidden],
.ms-pg .ms-pg-ajuda[hidden] {
	display: none;
}

.ms-pg .ms-pg-campo,
.ms-pg .ms-pg-grupo {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.ms-pg .ms-pg-rotulo {
	display: block;
	margin: 0 0 6px;
	padding: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.ms-pg legend.ms-pg-rotulo {
	margin-bottom: 8px;
}

.ms-pg .ms-pg-rotulo__opcional {
	font-weight: 400;
	color: var(--ms-texto);
}

.ms-pg .ms-pg-input {
	display: block;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1.5px solid var(--ms-campo-borda);
	border-radius: var(--ms-raio);
	background: var(--ms-branco);
	font-family: var(--ms-fonte);
	font-size: 16px;
	line-height: 1.4;
	color: var(--ms-marinho);
	box-shadow: none;
	transition: none;
}

.ms-pg .ms-pg-input::placeholder {
	color: var(--ms-apoio);
	opacity: 1;
}

.ms-pg .ms-pg-input:focus,
.ms-pg .ms-pg-input:focus-visible {
	border-color: var(--ms-campo-borda);
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
	background: var(--ms-branco);
	color: var(--ms-marinho);
}

.ms-pg .ms-pg-campo--erro .ms-pg-input {
	border: 2px solid var(--ms-erro);
}

.ms-pg .ms-pg-ajuda {
	margin: 6px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-pg .ms-pg-erro {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin: 6px 0 0;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--ms-erro);
}

.ms-pg .ms-pg-erro .ms-icone {
	margin-top: 2px;
}

.ms-pg .ms-pg-resumo {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 14px 16px;
	border: 2px solid var(--ms-erro);
	border-radius: var(--ms-raio);
	background: var(--ms-branco);
	font-size: 16px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--ms-erro);
}

.ms-pg .ms-pg-resumo .ms-icone {
	margin-top: 1px;
}

/* Lado a lado quando cabe (duas colunas a partir de 220 px cada). */
.ms-pg .ms-pg-par {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
	gap: 22px 20px;
}

/* Rádios: a linha inteira é o alvo (48 px), o controle visível tem 24 px. */
.ms-pg .ms-pg-opcoes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(130px, 100%), 1fr));
	gap: 10px;
}

.ms-pg .ms-pg-opcao {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	min-height: 48px;
	margin: 0;
	padding: 0 12px;
	border: 2px solid var(--ms-campo-borda);
	border-radius: var(--ms-raio);
	background: var(--ms-branco);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ms-marinho);
	white-space: nowrap;
	cursor: pointer;
}

.ms-pg .ms-pg-opcao input {
	flex: none;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	accent-color: var(--ms-verde);
	cursor: pointer;
}

.ms-pg .ms-pg-opcao img {
	display: block;
	flex: none;
	width: 28px;
	height: 28px;
}

.ms-pg .ms-pg-opcao:has(input:checked) {
	border-color: var(--ms-marinho);
	background: var(--ms-fundo);
}

.ms-pg .ms-pg-opcao:has(input:focus-visible) {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

.ms-pg .ms-pg-grupo.ms-pg-campo--erro .ms-pg-opcao {
	border-color: var(--ms-erro);
}

/* Aceite de ofertas (Issue #72, item 2): a caixa desmarcada da proposta (inc/aceite-ofertas.php, usada pelo modelo da proposta). */
.ms-pg .ms-aceite {
	margin: 0;
}

.ms-pg .ms-aceite__rotulo {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	margin: 0;
	padding: 4px 0;
	cursor: pointer;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.ms-pg .ms-aceite__rotulo input {
	flex: none;
	width: 24px;
	height: 24px;
	margin: 0;
	accent-color: var(--ms-verde);
	cursor: pointer;
}

.ms-pg .ms-aceite__rotulo:has(input:focus-visible) {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

.ms-pg .ms-aceite__ajuda {
	margin: 2px 0 0 36px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

/* Botão de enviar e a nota embaixo. */
.ms-pg .ms-pg-envio {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.ms-pg .ms-pg-envio .ms-btn {
	width: 100%;
}

.ms-pg .ms-pg-nota {
	margin: 12px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-envio .ms-btn {
		width: auto;
	}
}

/* Cartões laterais da proposta. */
.ms-pg .ms-pg-passos {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ms-pg .ms-pg-passos li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
	padding: 0;
}

.ms-pg .ms-pg-passos__n {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--ms-pilula);
	background: var(--ms-marinho);
	font-size: 17px;
	font-weight: 800;
	color: var(--ms-verde-decoracao);
}

.ms-pg .ms-pg-passos__txt {
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-pg .ms-pg-passos__txt strong {
	display: block;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-pg .ms-pg-lateral .ms-pg-h3 {
	margin-bottom: 16px;
}

.ms-pg .ms-pg-lateral .ms-btn {
	width: 100%;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-lateral .ms-btn {
		width: auto;
	}
}

.ms-pg .ms-pg-texto-curto {
	margin: 0 0 16px;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-pg .ms-pg-fone {
	font-weight: 700;
	color: var(--ms-marinho);
	white-space: nowrap;
}

.ms-pg .ms-pg-sigilo {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	padding: 4px 4px 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-pg .ms-pg-sigilo .ms-icone {
	margin-top: 1px;
	color: var(--ms-verde);
}

/* ============================================================
   4. Calculadoras
   ============================================================ */

.ms-pg .ms-pg-calc {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr));
	gap: 32px;
	align-items: start;
}

.ms-pg .ms-pg-botoes {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-botoes {
		flex-direction: row;
		align-items: center;
	}
}

.ms-pg .ms-pg-botoes .ms-btn {
	width: 100%;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-botoes .ms-btn {
		width: auto;
	}
}

.ms-pg .ms-pg-link-botao.ms-pg-link-botao {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ms-laranja-texto);
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
	cursor: pointer;
	transition: none;
}

.ms-pg .ms-pg-link-botao.ms-pg-link-botao:hover,
.ms-pg .ms-pg-link-botao.ms-pg-link-botao:focus-visible {
	background: transparent;
	color: var(--ms-marinho);
}

/* Resultado: começa vazio ("Preencha e toque em Calcular"). */
.ms-pg .ms-pg-resultado {
	padding: 24px;
	border-radius: var(--ms-raio);
	background: var(--ms-marinho);
	color: var(--ms-texto-escuro);
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-resultado {
		padding: 32px;
	}
}

.ms-pg .ms-pg-resultado [hidden] {
	display: none;
}

.ms-pg .ms-pg-resultado__rotulo {
	margin: 0;
	font-size: 17px;
	line-height: 1.4;
	font-weight: 600;
	color: var(--ms-verde-decoracao);
}

.ms-pg .ms-pg-resultado__vazio {
	margin: 10px 0 0;
	font-size: 28px;
	line-height: 1.3;
	font-weight: 800;
	color: #FFFFFF;
}

.ms-pg .ms-pg-resultado__ajuda {
	margin: 10px 0 0;
	font-size: 17px;
	line-height: 1.55;
	color: var(--ms-texto-escuro);
}

.ms-pg .ms-pg-resultado__numero {
	margin: 6px 0 0;
	font-size: 48px;
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: #FFFFFF;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-resultado__numero {
		font-size: 60px;
	}
}

.ms-pg .ms-pg-resultado__unidade {
	margin: 8px 0 0;
	font-size: 17px;
	line-height: 1.5;
	color: var(--ms-texto-escuro);
}

.ms-pg .ms-pg-resultado__passos-titulo {
	margin: 24px 0 10px;
	padding-top: 20px;
	border-top: 1px solid #34475C;
	font-size: 17px;
	line-height: 1.3;
	font-weight: 700;
	color: #FFFFFF;
}

.ms-pg .ms-pg-resultado__passos {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ms-pg .ms-pg-resultado__passos li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto-escuro);
}

.ms-pg .ms-pg-resultado__n {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	margin-top: 1px;
	border-radius: var(--ms-pilula);
	background: var(--ms-verde-decoracao);
	font-size: 14px;
	font-weight: 800;
	color: var(--ms-marinho);
}

.ms-pg .ms-pg-resultado__exemplo {
	margin: 20px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto-escuro);
}

.ms-pg .ms-pg-resultado__exemplo strong {
	color: #FFFFFF;
}

.ms-pg .ms-pg-resultado__pe {
	margin-top: 20px;
	padding-top: 8px;
	border-top: 1px solid #34475C;
}

.ms-pg .ms-pg-resultado .ms-pg-resultado__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font-size: 17px;
	font-weight: 600;
	color: #FFFFFF;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ms-pg .ms-pg-resultado .ms-pg-resultado__link:hover,
.ms-pg .ms-pg-resultado .ms-pg-resultado__link:focus-visible {
	color: var(--ms-laranja-claro);
}

/* Aviso com ícone (o resultado não inclui frete, etc.). */
.ms-pg .ms-pg-nota-caixa {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 20px 0 0;
	padding: 14px 16px;
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-pg .ms-pg-nota-caixa .ms-icone {
	margin-top: 1px;
	color: var(--ms-laranja-escuro);
}

/* "Outras ferramentas": cartões que são links. */
.ms-pg .ms-pg-lista-cartoes {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ms-pg .ms-pg-lista-cartoes li {
	margin: 0;
	padding: 0;
}

.ms-pg .ms-pg-cartao-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 20px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: var(--ms-branco);
	text-decoration: none;
}

.ms-pg .ms-pg-cartao-link:hover,
.ms-pg .ms-pg-cartao-link:focus-visible {
	border-color: var(--ms-marinho);
}

.ms-pg .ms-pg-cartao-link__titulo {
	display: block;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-pg .ms-pg-cartao-link__texto {
	display: block;
	margin-top: 2px;
	font-size: 15px;
	line-height: 1.45;
	color: var(--ms-texto);
}

.ms-pg .ms-pg-cartao-link .ms-icone {
	color: var(--ms-texto);
}

/* ============================================================
   5. Sobre
   ============================================================ */

.ms-pg .ms-pg-quem {
	display: flex;
	flex-wrap: wrap;
	gap: 32px 56px;
	align-items: center;
}

.ms-pg .ms-pg-quem__texto {
	flex: 1 1 440px;
	min-width: 0;
}

.ms-pg .ms-pg-quem__foto {
	flex: 0 1 440px;
	min-width: 0;
}

.ms-pg .ms-pg-quem__botao {
	margin: 28px 0 0;
}

.ms-pg .ms-pg-quem__botao .ms-btn {
	width: 100%;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-quem__botao .ms-btn {
		width: auto;
	}
}

.ms-pg .ms-pg-foto {
	display: block;
	width: 100%;
	max-width: 440px;
	height: 300px;
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
	object-fit: cover;
	object-position: center 20%;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-foto {
		height: auto;
		object-fit: initial;
	}
}

.ms-pg .ms-pg-cartoes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
	gap: 16px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.ms-pg .ms-pg-cartoes > li {
	margin: 0;
	padding: 0;
}

.ms-pg .ms-pg-cartoes > .ms-pg-cartao {
	padding: 22px;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-cartoes > .ms-pg-cartao {
		padding: 28px;
	}
}

.ms-pg .ms-pg-cartao--valor .ms-pg-h3 {
	margin: 0;
	font-size: 20px;
}

.ms-pg .ms-pg-cartao--valor p {
	margin: 8px 0 0;
	font-size: 16px;
	line-height: 1.55;
	color: var(--ms-texto);
}

.ms-pg .ms-pg-cartoes--valores {
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
}

.ms-pg .ms-pg-cartoes--graos {
	grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
}

.ms-pg .ms-pg-cartao-grao {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 20px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: var(--ms-branco);
	text-decoration: none;
}

.ms-pg .ms-pg-cartao-grao:hover,
.ms-pg .ms-pg-cartao-grao:focus-visible {
	border-color: var(--ms-marinho);
}

.ms-pg .ms-pg-cartao-grao img {
	display: block;
	flex: none;
	width: 48px;
	height: 48px;
}

.ms-pg .ms-pg-cartao-grao__nome {
	display: block;
	font-size: 19px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-pg .ms-pg-cartao-grao__texto {
	display: block;
	font-size: 15px;
	line-height: 1.4;
	color: var(--ms-texto);
}

/* Faixa verde de chamada (só na Sobre). */
.ms-pg .ms-pg-faixa {
	padding: 48px 0;
	background: var(--ms-verde);
}

.ms-pg .ms-pg-faixa__in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 32px;
}

.ms-pg .ms-pg-faixa__texto {
	flex: 1 1 420px;
	min-width: 0;
}

.ms-pg .ms-pg-faixa .ms-pg-h2 {
	color: #FFFFFF;
}

.ms-pg .ms-pg-faixa__texto p {
	max-width: 46ch;
	margin: 12px 0 0;
	font-size: 17px;
	line-height: 1.55;
	color: #FFFFFF;
}

.ms-pg .ms-pg-faixa__botoes {
	display: flex;
	flex: 1 1 100%;
	flex-direction: column;
	gap: 12px;
}

.ms-pg .ms-pg-faixa__botoes .ms-btn {
	width: 100%;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-faixa {
		padding: 56px 0;
	}

	.ms-pg .ms-pg-faixa__texto p {
		font-size: 19px;
	}

	.ms-pg .ms-pg-faixa__botoes {
		flex: 0 0 auto;
		flex-direction: row;
		flex-wrap: wrap;
	}

	.ms-pg .ms-pg-faixa__botoes .ms-btn {
		width: auto;
	}
}

/* ============================================================
   6. Contato
   ============================================================ */

.ms-pg .ms-pg-contato__botao {
	margin: 20px 0 0;
}

.ms-pg .ms-pg-contato__botao .ms-btn {
	width: 100%;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-contato__botao .ms-btn {
		width: auto;
	}
}

.ms-pg .ms-pg-canais {
	margin: 28px 0 0;
	padding: 0;
	border-bottom: 1px solid var(--ms-linha);
	list-style: none;
}

.ms-pg .ms-pg-canais > li {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 18px 0;
	border-top: 1px solid var(--ms-linha);
}

.ms-pg .ms-pg-canais__icone {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: var(--ms-pilula);
	background: var(--ms-fundo);
	color: var(--ms-marinho);
}

.ms-pg .ms-pg-canais__txt {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ms-pg .ms-pg-canais__rotulo {
	font-size: 15px;
	line-height: 1.4;
	color: var(--ms-texto);
}

.ms-pg .ms-pg-canais .ms-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: 20px;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.ms-pg .ms-pg-canais__valor {
	font-size: 20px;
	line-height: 1.4;
	font-weight: 700;
	color: var(--ms-marinho);
}

/* O formulário do Elementor, desenhado de novo (o markup e o envio são os do Elementor). Os estilos do Elementor para esta
   página não são carregados (inc/modelos-paginas.php), então bastam duas classes e o nome do elemento. */
.ms-pg .ms-pg-form--elementor {
	display: block;
}

.ms-pg .ms-pg-form--elementor .elementor-element,
.ms-pg .ms-pg-form--elementor .elementor-widget-container {
	margin: 0;
	padding: 0;
}

.ms-pg .ms-pg-form--elementor .elementor-form-fields-wrapper {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 22px;
	margin: 0;
}

.ms-pg .ms-pg-form--elementor .elementor-field-group {
	width: 100%;
	margin: 0;
	padding: 0;
}

.ms-pg .ms-pg-form--elementor label.elementor-field-label {
	position: static;
	display: block;
	width: auto;
	height: auto;
	margin: 0 0 6px;
	padding: 0;
	overflow: visible;
	clip: auto;
	border: 0;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.ms-pg .ms-pg-form--elementor .elementor-field-textual {
	display: block;
	width: 100%;
	max-width: none;
	min-height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1.5px solid var(--ms-campo-borda);
	border-radius: var(--ms-raio);
	background: var(--ms-branco);
	font-family: var(--ms-fonte);
	font-size: 16px;
	line-height: 1.4;
	color: var(--ms-marinho);
	box-shadow: none;
}

.ms-pg .ms-pg-form--elementor textarea.elementor-field-textual {
	min-height: 140px;
	padding: 12px 14px;
	resize: vertical;
}

.ms-pg .ms-pg-form--elementor .elementor-field-textual::placeholder {
	color: var(--ms-apoio);
	opacity: 1;
}

.ms-pg .ms-pg-form--elementor .elementor-field-textual:focus,
.ms-pg .ms-pg-form--elementor .elementor-field-textual:focus-visible {
	border-color: var(--ms-campo-borda);
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
	box-shadow: none;
}

.ms-pg .ms-pg-form--elementor .elementor-error .elementor-field-textual {
	border: 2px solid var(--ms-erro);
}

.ms-pg .ms-pg-form--elementor .elementor-field-group.elementor-error .elementor-message,
.ms-pg .ms-pg-form--elementor .elementor-message.elementor-message-danger {
	display: block;
	margin: 6px 0 0;
	padding: 0;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--ms-erro);
}

.ms-pg .ms-pg-form--elementor .elementor-form > .elementor-message {
	margin-top: 16px;
}

.ms-pg .ms-pg-form--elementor .elementor-message.elementor-message-success {
	display: block;
	margin: 16px 0 0;
	padding: 14px 16px;
	border-radius: var(--ms-raio);
	background: var(--ms-aviso-ok);
	font-size: 16px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--ms-marinho);
}

.ms-pg .ms-pg-form--elementor .e-form__buttons {
	display: flex;
	justify-content: flex-start;
	margin: 0;
}

.ms-pg .ms-pg-form--elementor .elementor-button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 100%;
	width: 100%;
	min-height: 52px;
	padding: 0 28px;
	border: 0;
	border-radius: var(--ms-pilula);
	background: var(--ms-laranja);
	font-family: var(--ms-fonte);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--ms-marinho);
	white-space: nowrap;
	cursor: pointer;
	transition: none;
}

.ms-pg .ms-pg-form--elementor .elementor-button[type="submit"]:hover,
.ms-pg .ms-pg-form--elementor .elementor-button[type="submit"]:focus-visible {
	background: var(--ms-laranja-hover);
	color: var(--ms-marinho);
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-form--elementor .elementor-button[type="submit"] {
		flex: 0 0 auto;
		width: auto;
	}
}

.ms-pg .ms-pg-form--elementor .ms-pg-ajuda {
	margin-top: 6px;
}

.ms-pg .ms-pg-form--elementor .ms-pg-nota {
	margin-top: 12px;
}

/* ============================================================
   7. Política de privacidade
   ============================================================ */

.ms-pg .ms-pg-politica {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-politica {
		grid-template-columns: 280px minmax(0, 1fr);
		gap: 56px;
	}

	.ms-pg .ms-pg-politica__indice {
		position: sticky;
		top: 24px;
	}
}

.ms-pg .ms-pg-indice {
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
}

.ms-pg .ms-pg-indice__titulo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 56px;
	padding: 0 18px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ms-marinho);
	list-style: none;
	cursor: pointer;
}

.ms-pg .ms-pg-indice__titulo::-webkit-details-marker {
	display: none;
}

.ms-pg .ms-pg-indice[open] .ms-pg-indice__seta {
	transform: rotate(180deg);
}

.ms-pg .ms-pg-indice__lista {
	margin: 0;
	padding: 0 18px 12px;
	list-style: none;
}

.ms-pg .ms-pg-indice__lista li {
	margin: 0;
	padding: 0;
}

.ms-pg .ms-pg-indice__lista a {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	font-size: 15px;
	line-height: 1.35;
	font-weight: 500;
	color: var(--ms-marinho);
	text-decoration: none;
}

.ms-pg .ms-pg-indice__lista a:hover,
.ms-pg .ms-pg-indice__lista a:focus-visible {
	color: var(--ms-laranja-escuro);
	text-decoration: underline;
}

.ms-pg .ms-pg-indice__n {
	flex: none;
	min-width: 20px;
	font-weight: 700;
	color: var(--ms-laranja-escuro);
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-indice__titulo {
		min-height: 0;
		padding: 20px 22px 4px;
		pointer-events: none;
		cursor: default;
	}

	.ms-pg .ms-pg-indice__seta {
		display: none;
	}

	.ms-pg .ms-pg-indice__lista {
		padding: 0 22px 16px;
	}
}

.ms-pg .ms-pg-pol {
	padding: 28px 0;
	border-top: 1px solid var(--ms-linha);
	scroll-margin-top: 24px;
}

.ms-pg .ms-pg-politica__texto > .ms-pg-pol:first-child {
	padding-top: 0;
	border-top: 0;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-politica__texto > .ms-pg-pol:first-child {
		padding-top: 28px;
		border-top: 1px solid var(--ms-linha);
	}
}

.ms-pg .ms-pg-pol__titulo {
	margin: 0;
	font-size: 24px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--ms-marinho);
}

.ms-pg .ms-pg-pol__n {
	color: var(--ms-laranja-texto);
}

.ms-pg .ms-pg-pol .ms-pg-prosa {
	margin-top: 10px;
}

@media (min-width: 768px) {
	.ms-pg .ms-pg-pol__titulo {
		font-size: 28px;
	}
}

/* ============================================================
   8. Mapa do site
   ============================================================ */

.ms-pg .ms-pg-mapa-blocos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
	gap: 32px;
}

.ms-pg .ms-pg-mapa-bloco {
	min-width: 0;
}

.ms-pg .ms-pg-mapa-bloco__titulo {
	margin: 0;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--ms-verde-decoracao);
	font-size: 22px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-pg .ms-pg-mapa-lista,
.ms-pg .ms-pg-regiao__lista {
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
}

.ms-pg .ms-pg-mapa-lista li,
.ms-pg .ms-pg-regiao__lista li {
	margin: 0;
	padding: 0;
}

.ms-pg .ms-pg-mapa-lista a,
.ms-pg .ms-pg-regiao__lista a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 44px;
	font-size: 17px;
	line-height: 1.3;
	font-weight: 600;
	color: var(--ms-marinho);
	text-decoration: none;
}

.ms-pg .ms-pg-mapa-lista a:hover,
.ms-pg .ms-pg-mapa-lista a:focus-visible {
	color: var(--ms-laranja-texto);
	text-decoration: underline;
}

.ms-pg .ms-pg-regiao__lista a:hover,
.ms-pg .ms-pg-regiao__lista a:focus-visible {
	color: var(--ms-laranja-escuro);
	text-decoration: underline;
}

.ms-pg .ms-pg-regioes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
	gap: 28px 32px;
	margin-top: 36px;
}

.ms-pg .ms-pg-regiao {
	min-width: 0;
}

.ms-pg .ms-pg-regiao__titulo {
	margin: 0;
	padding-bottom: 8px;
	border-bottom: 1px solid #D9D9D9;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--ms-verde);
}

.ms-pg .ms-pg-regiao__lista a {
	font-size: 16px;
}

.ms-pg .ms-pg-regiao__n {
	flex: none;
	font-size: 15px;
	font-weight: 500;
	color: var(--ms-texto);
	font-variant-numeric: tabular-nums;
}

/* ---- assets/css/conta.css ---- */
/*
 * MilhoSoja · Conta (Entrar, Cadastro, Esqueci a senha, Painel, Anunciar, Meus dados, Atualizar preços).
 *
 * Fonte da verdade: o protótipo (docs/design/quadro/project/wp-v1, telas 13 a 18). Os formulários são os de hoje (login do
 * Elementor, JetFormBuilder, a página Meus dados do plugin e a tela do WordPress para recuperar a senha), só restilizados; por
 * isso muitos seletores falam das classes deles. O que antes o plugin imprimia em <style> (inc/formularios.php, painel.php e
 * meus-dados.php) está aqui.
 *
 * Força dos seletores: tudo da tela fica dentro de `.ms-ct` (a raiz do modelo page-conta.php) ou de `body.ms-login-wp` (a tela do
 * WordPress), para ganhar do kit do Elementor (`.elementor-kit-9 h1, a, p`), do Hello Elementor, do JetFormBuilder e do que o
 * plugin ainda imprime em <style> (cidades.php: lista de cidades e preço com unidade), que vêm depois deste arquivo.
 *
 * Prefixos: ms-ct = conta em geral, ms-pn = painel, ms-pe = atualizar preços.
 */

/* ============================================================
   1. Estrutura: faixa de título, abas, miolo, cartão
   ============================================================ */

.ms-ct {
	display: block;
	background: var(--ms-fundo);
	color: var(--ms-texto);
	font-family: var(--ms-fonte);
	font-size: 17px;
	line-height: 1.6;
}

.ms-ct *,
.ms-ct *::before,
.ms-ct *::after {
	box-sizing: border-box;
}

.ms-ct .ms-ct__miolo {
	max-width: var(--ms-container);
	margin: 0 auto;
	padding: 0 var(--ms-gutter);
}

.ms-ct .ms-ct__faixa {
	background: var(--ms-marinho);
	border-bottom: 4px solid var(--ms-verde-decoracao);
}

.ms-ct .ms-ct__faixa .ms-ct__miolo {
	padding-top: 0;
	padding-bottom: 48px;
}

.ms-ct .ms-ct__migalha {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 15px;
	color: var(--ms-texto-escuro);
}

.ms-ct .ms-ct__migalha li {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	margin: 0;
	padding: 0;
}

.ms-ct .ms-ct__migalha li[aria-current="page"] {
	color: #FFFFFF;
	font-weight: 600;
}

.ms-ct .ms-ct__migalha a.ms-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	min-width: 44px;
	font-size: 15px;
	font-weight: 500;
}

.ms-ct .ms-ct__migalha span[aria-hidden="true"] {
	color: var(--ms-apoio-escuro);
}

.ms-ct .ms-ct__titulos {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px 32px;
}

.ms-ct .ms-ct__titulo-bloco {
	flex: 1 1 420px;
	min-width: 0;
}

/* Botão "Anunciar" da faixa do painel: largura toda no celular (como no protótipo), do tamanho do texto a partir do tablet. */
.ms-ct .ms-ct__titulos > .ms-btn {
	flex: 1 1 100%;
}

@media (min-width: 768px) {
	.ms-ct .ms-ct__titulos > .ms-btn {
		flex: 0 0 auto;
	}
}

.ms-ct .ms-ct__titulo-bloco h1 {
	margin: 8px 0 0;
	font-family: var(--ms-fonte);
	font-size: 44px;
	line-height: 1.15;
	font-weight: 800;
	letter-spacing: -0.01em;
	text-align: left;
	color: #FFFFFF;
}

.ms-ct .ms-ct__titulo-bloco p {
	max-width: 62ch;
	margin: 12px 0 0;
	font-size: 19px;
	line-height: 1.55;
	color: var(--ms-texto-escuro);
}

.ms-ct .ms-ct-sq {
	white-space: nowrap;
}

/* Abas da conta (Meus anúncios, Anunciar, Meus dados). */
.ms-ct .ms-ct__abas {
	background: #FFFFFF;
	border-bottom: 1px solid var(--ms-linha);
}

.ms-ct .ms-ct__abas-in {
	display: flex;
	align-items: stretch;
	gap: 4px;
	padding-left: 6px;
	padding-right: 6px;
	overflow-x: auto;
}

.ms-ct .ms-ct__aba.ms-ct__aba {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 0 18px;
	border-bottom: 3px solid transparent;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 600;
	color: var(--ms-texto);
	text-decoration: none;
	white-space: nowrap;
}

.ms-ct .ms-ct__aba.ms-ct__aba[aria-current="page"] {
	border-bottom-color: var(--ms-laranja);
	color: var(--ms-marinho);
}

.ms-ct .ms-ct__aba.ms-ct__aba:hover {
	background: var(--ms-fundo);
	color: var(--ms-laranja-escuro);
}

.ms-ct .ms-ct__secao {
	padding: 56px 0 80px;
	background: var(--ms-fundo);
}

.ms-ct--painel .ms-ct__secao,
.ms-ct--anunciar .ms-ct__secao,
.ms-ct--editar .ms-ct__secao,
.ms-ct--meus-dados .ms-ct__secao {
	padding-top: 40px;
	padding-bottom: 72px;
}

.ms-ct .ms-ct__estreito {
	max-width: 520px;
	margin: 0 auto;
}

.ms-ct .ms-ct-card,
body.ms-login-wp #login {
	padding: 28px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
}

/* O WordPress põe overflow: hidden no formulário da tela de entrar; ele cortava o contorno de foco do campo nas laterais. */
body.ms-login-wp #login form {
	overflow: visible;
}

.ms-ct .ms-ct__duas {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: flex-start;
}

.ms-ct .ms-ct__principal {
	flex: 999 1 560px;
	min-width: 0;
	max-width: 720px;
}

.ms-ct .ms-ct__lateral {
	flex: 1 1 280px;
	min-width: 0;
	max-width: 380px;
}

.ms-ct--anunciar .ms-ct__lateral {
	max-width: 340px;
}

.ms-ct .ms-ct__lateral h2,
.ms-ct .ms-pn__lateral h2,
.ms-ct .ms-md__lateral h2 {
	margin: 0 0 14px;
	font-family: var(--ms-fonte);
	font-size: 22px;
	line-height: 1.25;
	font-weight: 800;
	color: var(--ms-marinho);
}

.ms-ct .ms-ct__passos,
.ms-ct .ms-ct__dicas {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.ms-ct .ms-ct__dicas {
	gap: 12px;
	margin-top: 0;
}

.ms-ct .ms-ct__passos li,
.ms-ct .ms-ct__dicas li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-ct .ms-ct__passos li span {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: var(--ms-pilula);
	background: var(--ms-verde-decoracao);
	color: var(--ms-marinho);
	font-weight: 800;
}

.ms-ct .ms-ct__passos li {
	padding-top: 0;
}

.ms-ct .ms-ct__dicas li span {
	flex: none;
	margin-top: 2px;
	color: var(--ms-verde);
}

/* Os contêineres do Elementor viram caixas simples: o layout é do modelo do tema. As medidas e bordas deles vêm da página do
   Elementor com força maior, por isso aqui valem com !important. */
.ms-ct .elementor .e-con,
.ms-ct .elementor .e-con-inner {
	display: block;
	width: 100% !important;
	max-width: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0;
	background: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--gap: 0;
	--content-width: 100%;
}

.ms-ct .elementor .elementor-widget {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.ms-ct .elementor .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

/* ============================================================
   2. Campos (os de hoje, no desenho do protótipo)
   ============================================================ */

/* Rótulo */
.ms-ct .jet-form-builder__label-text,
.ms-ct .elementor-login .elementor-field-label,
.ms-ct .milhosoja-md__rotulo,
body.ms-login-wp label {
	display: block;
	margin: 0 0 6px;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.ms-ct .jet-form-builder__required,
.ms-ct .milhosoja-md__obrig {
	color: var(--ms-erro);
	font-weight: 600;
}

/* Na tela de anunciar a palavra "obrigatório" substitui o asterisco. */
.ms-ct--anunciar .jet-form-builder__required,
.ms-ct--editar .jet-form-builder__required {
	margin-left: 2px;
	font-size: 15px;
	font-weight: 400;
	color: var(--ms-texto);
}

/* O widget de entrar põe o tamanho do rótulo e da caixa "Manter conectado" na própria página do Elementor (força maior). */
.ms-ct .elementor-login .elementor-field-label,
.ms-ct .elementor-login .elementor-remember-me label {
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: var(--ms-marinho) !important;
}

.ms-ct .elementor-login .elementor-remember-me label {
	font-weight: 400 !important;
}

/* Campo de texto, e-mail, telefone, senha, lista e caixa de texto */
.ms-ct .jet-form-builder input[type="text"],
.ms-ct .jet-form-builder input[type="email"],
.ms-ct .jet-form-builder input[type="tel"],
.ms-ct .jet-form-builder input[type="password"],
.ms-ct .jet-form-builder select,
.ms-ct .jet-form-builder textarea,
.ms-ct .elementor-login input[type="text"],
.ms-ct .elementor-login input[type="password"],
.ms-ct .milhosoja-md input[type="text"],
.ms-ct .milhosoja-md input[type="tel"],
.ms-ct .milhosoja-md input[type="password"],
.ms-ct .milhosoja-md select,
.ms-ct .milhosoja-md textarea,
body.ms-login-wp #login input[type="text"],
body.ms-login-wp #login input[type="password"],
body.ms-login-wp #login input[type="email"] {
	display: block;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1.5px solid var(--ms-campo-borda);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	box-shadow: none;
	font-family: var(--ms-fonte);
	font-size: 16px;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.ms-ct .jet-form-builder textarea,
.ms-ct .milhosoja-md textarea {
	min-height: 96px;
	padding: 12px 14px;
	line-height: 1.5;
	resize: vertical;
}

.ms-ct .jet-form-builder input::placeholder,
.ms-ct .jet-form-builder textarea::placeholder,
.ms-ct .milhosoja-md input::placeholder {
	color: var(--ms-apoio);
	opacity: 1;
}

.ms-ct .jet-form-builder [aria-invalid="true"],
.ms-ct .elementor-login [aria-invalid="true"],
.ms-ct .milhosoja-md [aria-invalid="true"] {
	border: 2px solid var(--ms-erro);
}

/* O campo de texto com erro: a regra de cima perde para a do campo e, nos formulários do JetFormBuilder, para a borda que o Elementor
   grava no CSS da página (seletor bem mais específico), então a borda vermelha não aparecia. Por isso o !important, só aqui. */
.ms-ct .jet-form-builder input[aria-invalid="true"],
.ms-ct .jet-form-builder select[aria-invalid="true"],
.ms-ct .jet-form-builder textarea[aria-invalid="true"],
.ms-ct .elementor-login input[aria-invalid="true"],
.ms-ct .milhosoja-md input[aria-invalid="true"],
.ms-ct .milhosoja-md select[aria-invalid="true"],
.ms-ct .milhosoja-md textarea[aria-invalid="true"] {
	border: 2px solid var(--ms-erro) !important;
}

.ms-ct .jet-form-builder input:focus-visible,
.ms-ct .jet-form-builder select:focus-visible,
.ms-ct .jet-form-builder textarea:focus-visible,
.ms-ct .elementor-login input:focus-visible,
.ms-ct .milhosoja-md input:focus-visible,
.ms-ct .milhosoja-md select:focus-visible,
.ms-ct .milhosoja-md textarea:focus-visible,
body.ms-login-wp #login input:focus-visible {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

/* Ajuda (embaixo do campo) e erro (com o sinal de alerta) */
.ms-ct .jet-form-builder__desc,
.ms-ct .jet-form-builder__desc small,
.ms-ct .milhosoja-md__ajuda,
.ms-ct .ms-ct-ajuda {
	display: block;
	margin: 6px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-ct .jet-form-builder__desc small {
	margin: 0;
}

.ms-ct .jet-form-builder .error-message,
.ms-ct .jet-form-builder .milhosoja-erro,
.ms-ct .milhosoja-md .milhosoja-erro,
.ms-ct .elementor-login .milhosoja-erro,
.ms-ct .jet-form-builder-file-upload__errors {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin: 6px 0 0;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--ms-erro);
}

.ms-ct .jet-form-builder .error-message::before,
.ms-ct .jet-form-builder-file-upload__errors:not(.is-hidden)::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5v.01'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5v.01'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ms-ct .jet-form-builder-file-upload__errors.is-hidden {
	display: none;
}

.ms-ct .ms-icone {
	flex: none;
}

/* Frase de cima do formulário e aviso de baixo */
.ms-ct .ms-ct-nota,
.ms-ct .milhosoja-md__nota {
	margin: 0 0 20px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-ct .ms-ct-nota strong {
	color: var(--ms-marinho);
}

/* Aviso de erro ou de sucesso dentro do formulário (erro de entrar, e-mail de senha enviado) */
.ms-ct .milhosoja-aviso {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 20px;
	padding: 14px 16px;
	border-radius: var(--ms-raio);
	font-size: 16px;
	line-height: 1.5;
}

.ms-ct .milhosoja-aviso--erro {
	border: 1.5px solid var(--ms-erro);
	background: #FDECEA;
	color: var(--ms-aviso-erro-texto);
}

.ms-ct .milhosoja-aviso--ok {
	border: 1.5px solid var(--ms-verde);
	background: var(--ms-aviso-ok);
	color: var(--ms-marinho);
}

.ms-ct .milhosoja-aviso--erro .ms-icone {
	margin-top: 3px;
	color: var(--ms-erro);
}

/* Link de texto com 44 px de toque, em bloco */
.ms-ct .ms-link.ms-ct-linkbloco {
	display: flex;
	width: fit-content;
	align-items: center;
	min-height: 44px;
	font-size: 16px;
}

/* Linhas dos formulários (o JetFormBuilder as faz em coluna que quebra: dentro de uma grade isso vira várias colunas) */
.ms-ct .jet-form-builder-row {
	flex-wrap: nowrap;
	margin: 0 0 20px;
}

.ms-ct .jet-form-builder-row.field-type-submit-field,
.ms-ct .jet-form-builder-row.field-type-hidden-field {
	margin: 0;
}

/* Botões de verdade (envio) */
.ms-ct .jet-form-builder button.jet-form-builder__submit,
.ms-ct .elementor-login button.elementor-button,
.ms-ct .milhosoja-md button.milhosoja-md__botao,
body.ms-login-wp #login .button-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 28px;
	border: 0;
	border-radius: var(--ms-pilula);
	background: var(--ms-laranja);
	box-shadow: none;
	font-family: var(--ms-fonte);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--ms-marinho);
	text-shadow: none;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}

.ms-ct .jet-form-builder button.jet-form-builder__submit:hover,
.ms-ct .jet-form-builder button.jet-form-builder__submit:focus-visible,
.ms-ct .elementor-login button.elementor-button:hover,
.ms-ct .elementor-login button.elementor-button:focus-visible,
.ms-ct .milhosoja-md button.milhosoja-md__botao:hover,
.ms-ct .milhosoja-md button.milhosoja-md__botao:focus-visible,
body.ms-login-wp #login .button-primary:hover,
body.ms-login-wp #login .button-primary:focus-visible {
	background: var(--ms-laranja-hover);
	color: var(--ms-marinho);
}

.ms-ct .jet-form-builder button.jet-form-builder__submit[disabled],
.ms-ct .milhosoja-md button.milhosoja-md__botao[disabled] {
	opacity: 0.65;
	cursor: progress;
}

/* Meus dados: "Trocar a senha" é o botão secundário da tela (marinho, como no protótipo); "Salvar meus dados" fica laranja. */
.ms-ct .milhosoja-md form[data-md="senha"] button.milhosoja-md__botao {
	background: var(--ms-marinho);
	color: #FFFFFF;
}

.ms-ct .milhosoja-md form[data-md="senha"] button.milhosoja-md__botao:hover,
.ms-ct .milhosoja-md form[data-md="senha"] button.milhosoja-md__botao:focus-visible {
	background: var(--ms-marinho-hover);
	color: #FFFFFF;
}

/* O widget do formulário põe cor, peso e raio do botão na página do Elementor (força maior): aqui valem os do protótipo. */
.ms-ct .jet-form-builder button.jet-form-builder__submit {
	background: var(--ms-laranja) !important;
	color: var(--ms-marinho) !important;
	font-weight: 700 !important;
	border: 0 !important;
	border-radius: var(--ms-pilula) !important;
	min-height: 52px !important;
}

.ms-ct .jet-form-builder button.jet-form-builder__submit:hover,
.ms-ct .jet-form-builder button.jet-form-builder__submit:focus-visible {
	background: var(--ms-laranja-hover) !important;
}

/* Botão "Mostrar senha": contorno marinho, 48 px */
.ms-ct .milhosoja-ver-senha {
	flex: none;
	min-height: 48px;
	padding: 0 14px;
	border: 0;
	border-radius: var(--ms-pilula);
	background: #FFFFFF;
	box-shadow: inset 0 0 0 1.5px var(--ms-marinho);
	font-family: var(--ms-fonte);
	font-size: 15px;
	font-weight: 600;
	color: var(--ms-marinho);
	white-space: nowrap;
	cursor: pointer;
}

.ms-ct .milhosoja-ver-senha:hover,
.ms-ct .milhosoja-ver-senha:focus-visible {
	background: var(--ms-fundo);
	color: var(--ms-marinho);
}

/* Linha de caixa de marcar ou de rádio: a linha toda é o alvo (44 px), a caixa tem 24 px */
.ms-ct .jet-form-builder__field-label.for-checkbox,
.ms-ct .elementor-login .elementor-remember-me label {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	margin: 0;
	padding: 4px 0;
	cursor: pointer;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.ms-ct .jet-form-builder__field-label.for-checkbox input[type="checkbox"],
.ms-ct .elementor-login .elementor-remember-me input[type="checkbox"] {
	flex: none;
	width: 24px;
	height: 24px;
	margin: 0;
	accent-color: var(--ms-verde);
}

.ms-ct .jet-form-builder__fields-group.checkradio-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ms-ct .jet-form-builder__fields-group .jet-form-builder__field-wrap.checkradio-wrap {
	margin: 0;
	flex: 0 0 auto;
	width: auto;
}

.ms-ct .jet-form-builder__field-wrap.checkboxes-wrap {
	margin: 0;
}

.ms-ct .jet-form-builder__field-label:has(input:focus-visible) {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

/* ============================================================
   3. Entrar
   ============================================================ */

.ms-ct .elementor-login .elementor-form-fields-wrapper {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 20px;
	margin: 0;
}

.ms-ct .elementor-login .elementor-field-group {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

.ms-ct .elementor-login .milhosoja-senha {
	display: flex;
	align-items: stretch;
	gap: 8px;
	width: 100%;
}

.ms-ct .elementor-login .milhosoja-senha input {
	flex: 1 1 0;
	min-width: 0;
}

.ms-ct .elementor-login .elementor-field-type-submit button {
	width: 100%;
}

.ms-ct .elementor-login .elementor-field-type-submit {
	margin-top: 4px;
}

.ms-ct .elementor-login .elementor-field-group:last-child {
	display: flex;
	justify-content: center;
}

.ms-ct .elementor-login a.elementor-lost-password {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 600;
	color: var(--ms-laranja-texto);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ms-ct .elementor-login a.elementor-lost-password:hover {
	color: var(--ms-marinho);
}

.ms-ct .ms-ct__rodape-cartao {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid var(--ms-linha);
	text-align: center;
}

.ms-ct .ms-ct__rodape-cartao p {
	margin: 0;
	font-size: 17px;
	line-height: 1.5;
	color: var(--ms-texto);
}

/* ============================================================
   4. Cadastro (formulário 210)
   ============================================================ */

.ms-ct--cadastro form.jet-form-builder {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	max-width: none;
}

.ms-ct--cadastro form.jet-form-builder > * {
	grid-column: 1 / -1;
	margin: 0;
}

.ms-ct--cadastro form.jet-form-builder > .jet-form-builder-row:has([name="_whatsapp-vendedor"]),
.ms-ct--cadastro form.jet-form-builder > .jet-form-builder-row:has(#cidade) {
	grid-column: auto;
}

/* Senhas: o botão "Mostrar senha" ao lado do campo (o olho do JetFormBuilder sai) */
.ms-ct .jet-form-builder__field-wrap.ms-ct-senha {
	display: flex;
	align-items: stretch;
	gap: 8px;
}

.ms-ct .jet-form-builder__field-wrap.ms-ct-senha input {
	flex: 1 1 0;
	min-width: 0;
	padding-right: 14px;
}

.ms-ct .jfb-eye-icon {
	display: none;
}

.ms-ct .ms-ct-aceite {
	margin-left: 36px;
}

/* Verificação antirrobô do cadastro (Issue #10): o bloco .ms-verif (desenho em base.css), a ajuda e a ratoeira escondida
   (inc/cadastro-desafio.php). O Elementor e o JetFormBuilder põem regras em todo input e label do formulário: aqui o campo da
   conta e o rótulo só para leitor de tela voltam ao desenho do bloco. */
.ms-ct .jet-form-builder .ms-desafio.ms-verif {
	margin: 0 0 20px;
}

.ms-ct .jet-form-builder .ms-desafio.ms-verif input.ms-verif__campo {
	width: 96px;
	min-height: 48px;
	margin: 0;
	padding: 0 8px;
	text-align: center;
}

.ms-ct .jet-form-builder .ms-desafio .ms-desafio__ajuda {
	margin: 10px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

/* A ratoeira: fora da tela e sem tamanho. Pessoa não a vê nem chega nela com o Tab; robô que lê o HTML a preenche. */
.ms-ct .jet-form-builder .ms-desafio .ms-desafio__ratoeira {
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.ms-ct .jet-form-builder .ms-desafio .ms-desafio__ratoeira input[type="text"] {
	width: 0;
	height: 0;
	min-height: 0;
	padding: 0;
	border: 0;
}

/* Aceite de ofertas (Issue #72, item 2): a caixa desmarcada do cadastro (inc/aceite-ofertas.php) e a chave de Meus dados.
   Mesma linha de 44 px das outras caixas do formulário: a linha toda é o alvo, a caixa tem 24 px. */
.ms-ct .jet-form-builder .ms-aceite {
	margin: 0 0 20px;
}

.ms-ct .ms-aceite__rotulo {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	margin: 0;
	padding: 4px 0;
	cursor: pointer;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.ms-ct .ms-aceite__rotulo input[type="checkbox"] {
	flex: none;
	width: 24px;
	height: 24px;
	margin: 0;
	accent-color: var(--ms-verde);
}

.ms-ct .ms-aceite__rotulo:has(input:focus-visible) {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

.ms-ct .ms-aceite__ajuda {
	margin: 2px 0 0 36px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

/* Meus dados: a chave que liga e desliga (uma caixa de marcar desenhada como chave; o estado é o da própria caixa) */
.ms-ct .milhosoja-md__chave {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 48px;
	margin: 0;
	padding: 4px 0;
	cursor: pointer;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-marinho);
}

/* A caixa tem 52 por 44 px (alvo de toque); a chave que se vê (trilho de 52 por 32 e o botão redondo) é desenhada por ::before e ::after. */
.ms-ct .milhosoja-md__chave input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	position: relative;
	flex: none;
	width: 52px;
	height: 44px;
	margin: 0;
	border: 0;
	border-radius: 22px;
	background: transparent;
	cursor: pointer;
}

.ms-ct .milhosoja-md__chave input[type="checkbox"]::before {
	content: "";
	position: absolute;
	top: 6px;
	left: 0;
	width: 52px;
	height: 32px;
	box-sizing: border-box;
	border: 2px solid var(--ms-campo-borda);
	border-radius: 16px;
	background: var(--ms-branco);
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.ms-ct .milhosoja-md__chave input[type="checkbox"]::after {
	content: "";
	position: absolute;
	top: 11px;
	left: 5px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--ms-campo-borda);
	transition: transform 0.15s ease, background-color 0.15s ease;
}

.ms-ct .milhosoja-md__chave input[type="checkbox"]:checked::before {
	border-color: var(--ms-verde);
	background: var(--ms-verde);
}

.ms-ct .milhosoja-md__chave input[type="checkbox"]:checked::after {
	background: var(--ms-branco);
	transform: translateX(20px);
}

.ms-ct .milhosoja-md__chave input[type="checkbox"]:focus-visible {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.ms-ct .milhosoja-md__chave input[type="checkbox"]::before,
	.ms-ct .milhosoja-md__chave input[type="checkbox"]::after {
		transition: none;
	}
}

.ms-ct .milhosoja-ja-tenho {
	margin: 0;
	text-align: center;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-ct .milhosoja-ja-tenho a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 6px;
	font-weight: 600;
	color: var(--ms-laranja-texto);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ms-ct--cadastro .jet-form-builder button.jet-form-builder__submit {
	width: 100%;
}

.ms-ct .jet-form-builder .milhosoja-contador,
.ms-ct .milhosoja-md .milhosoja-contador {
	margin: 4px 0 0;
	text-align: right;
	font-size: 15px;
	color: var(--ms-texto);
}

/* Lista de cidades: a caixa que abre ao digitar no campo Cidade (cadastro, anunciar, editar e Meus dados). Quem monta a lista e o
   campo é assets/js/conta-cidade.js; aqui só o desenho. A posição vem do script (top e bottom em linha). */
.ms-ct .milhosoja-cb {
	position: relative;
}

.ms-ct .milhosoja-cb__lista {
	position: absolute;
	left: 0;
	right: 0;
	z-index: 50;
	box-sizing: border-box;
	margin: 6px 0 0;
	padding: 6px;
	border: 0;
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	box-shadow: var(--ms-sombra-curta);
	list-style: none;
}

.ms-ct .milhosoja-cb__lista[hidden] {
	display: none;
}

.ms-ct .milhosoja-cb__lista li {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 48px;
	margin: 0;
	padding: 6px 14px;
	border-radius: 8px;
	font-family: var(--ms-fonte);
	font-size: 17px;
	line-height: 1.3;
	color: var(--ms-marinho);
	cursor: pointer;
}

.ms-ct .milhosoja-cb__lista li:hover,
.ms-ct .milhosoja-cb__lista li[aria-selected="true"] {
	background: var(--ms-fundo);
	box-shadow: none;
	font-weight: 600;
}

.ms-ct .milhosoja-cb__leitor {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* ============================================================
   5. Anunciar e editar (formulário 248)
   ============================================================ */

.ms-ct--anunciar form.jet-form-builder,
.ms-ct--editar form.jet-form-builder {
	margin: 0;
	max-width: none;
}

/* Grão: 4 por linha (3 no celular), a bolinha do rádio some mas continua focável e anunciada */
.ms-ct .jet-form-builder-row:has(input[name="categoria-classificados"]) {
	margin-bottom: 22px;
}

.ms-ct .jet-form-builder-row:has(input[name="categoria-classificados"]) .jet-form-builder__fields-group {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.ms-ct .jet-form-builder-row:has(input[name="categoria-classificados"]) .jet-form-builder__field-wrap {
	width: auto;
	min-width: 0;
}

.ms-ct .jet-form-builder-row:has(input[name="categoria-classificados"]) .jet-form-builder__field-label.for-radio,
.ms-ct .jet-form-builder-row:has(input[name="_kilo_ou_saca"]) .jet-form-builder__field-label.for-radio {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 0 8px;
	border: 1.5px solid var(--ms-campo-borda);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	color: var(--ms-marinho);
	cursor: pointer;
}

.ms-ct .jet-form-builder-row:has(input[name="categoria-classificados"]) input[type="radio"],
.ms-ct .jet-form-builder-row:has(input[name="_kilo_ou_saca"]) input[type="radio"] {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

.ms-ct .jet-form-builder-row:has(input[name="categoria-classificados"]) .jet-form-builder__field-label.for-radio span::before,
.ms-ct .jet-form-builder-row:has(input[name="categoria-classificados"]) .jet-form-builder__field-label.for-radio span::after,
.ms-ct .jet-form-builder-row:has(input[name="_kilo_ou_saca"]) .jet-form-builder__field-label.for-radio span::before,
.ms-ct .jet-form-builder-row:has(input[name="_kilo_ou_saca"]) .jet-form-builder__field-label.for-radio span::after {
	content: none;
	display: none;
}

.ms-ct .jet-form-builder-row:has(input[name="categoria-classificados"]) .jet-form-builder__field-label.for-radio:hover {
	border-color: var(--ms-marinho);
}

.ms-ct .jet-form-builder-row:has(input[name="categoria-classificados"]) .jet-form-builder__field-label.for-radio:has(input:checked) {
	border-color: var(--ms-verde);
	background: var(--ms-aviso-ok);
	box-shadow: inset 0 0 0 1px var(--ms-verde);
	color: var(--ms-marinho);
	font-weight: 600;
}

.ms-ct .jet-form-builder-row:has(input[name="categoria-classificados"]) .jet-form-builder__field-label.for-radio:has(input:checked) span::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 6px;
	vertical-align: -3px;
	background: #2F5D0B;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Preço com "R$" e a unidade ao lado (por saca, por kg). O script (conta-cidade.js) junta as duas linhas do JetFormBuilder num grupo
   só: o preço e, ao lado, o controle segmentado. As duas linhas continuam linhas normais (nada de display: contents: o
   JetFormBuilder só valida linha visível). O rótulo da unidade fica invisível, mas ocupa a altura, para os dois controles
   alinharem. */
.ms-ct .milhosoja-preco {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 8px;
	align-items: start;
	margin-bottom: 20px;
}

.ms-ct .milhosoja-preco > .jet-form-builder-row {
	margin: 0;
	min-width: 0;
}

.ms-ct .milhosoja-preco > .jet-form-builder-row:first-child .jet-form-builder__desc small,
.ms-ct .milhosoja-preco > .jet-form-builder-row:first-child .error-message,
.ms-ct .milhosoja-preco > .jet-form-builder-row:first-child .milhosoja-erro {
	white-space: nowrap;
}

.ms-ct .milhosoja-preco > .milhosoja-unidade > .jet-form-builder__label {
	visibility: hidden;
	white-space: nowrap;
}

.ms-ct .milhosoja-preco > .milhosoja-unidade > .jet-form-builder__label .jet-form-builder__required {
	display: none;
}

.ms-ct .milhosoja-preco > .milhosoja-unidade .jet-form-builder__label-text {
	line-height: 1.4;
}

.ms-ct .milhosoja-moeda {
	position: relative;
}

.ms-ct .milhosoja-moeda::before {
	content: "R$";
	position: absolute;
	top: 0;
	left: 14px;
	display: flex;
	align-items: center;
	height: 48px;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 600;
	color: var(--ms-marinho);
	pointer-events: none;
}

.ms-ct .milhosoja-moeda input {
	padding-left: 46px !important;
}

.ms-ct .milhosoja-preco .milhosoja-unidade .jet-form-builder__fields-group.checkradio-wrap {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 0;
}

.ms-ct .milhosoja-unidade .jet-form-builder__field-wrap {
	flex: 0 0 auto;
	margin: 0;
}

.ms-ct .milhosoja-unidade .jet-form-builder__field-label.for-radio {
	min-height: 48px;
	min-width: 84px;
	white-space: nowrap;
}

.ms-ct .milhosoja-unidade .jet-form-builder__field-wrap:first-child .for-radio {
	border-radius: var(--ms-raio) 0 0 var(--ms-raio);
}

.ms-ct .milhosoja-unidade .jet-form-builder__field-wrap:last-child .for-radio {
	border-radius: 0 var(--ms-raio) var(--ms-raio) 0;
	margin-left: -1.5px;
}

.ms-ct .jet-form-builder-row:has(input[name="_kilo_ou_saca"]) .jet-form-builder__field-label.for-radio:has(input:checked) {
	border-color: var(--ms-marinho);
	background: var(--ms-marinho);
	color: #FFFFFF;
	font-weight: 600;
}

@media (max-width: 359px) {
	.ms-ct .milhosoja-preco {
		grid-template-columns: minmax(0, 1fr);
	}

	.ms-ct .milhosoja-preco > .jet-form-builder-row:first-child .jet-form-builder__desc small,
	.ms-ct .milhosoja-preco > .jet-form-builder-row:first-child .error-message,
	.ms-ct .milhosoja-preco > .jet-form-builder-row:first-child .milhosoja-erro {
		white-space: normal;
	}

	.ms-ct .milhosoja-preco > .milhosoja-unidade {
		margin-top: 8px;
	}

	.ms-ct .milhosoja-preco > .milhosoja-unidade > .jet-form-builder__label {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}
}

/* Fotos */
.ms-ct .jet-form-builder-file-upload {
	position: relative;
}

.ms-ct .jet-form-builder-file-upload__fields {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
}

/* O campo de arquivo de verdade fica por cima do botão, invisível: continua focável pelo teclado e tem o tamanho do botão. */
.ms-ct .jet-form-builder-file-upload__fields input[type="file"] {
	position: absolute;
	left: 0;
	top: 0;
	width: 160px;
	height: 44px;
	padding: 0;
	border: 0;
	opacity: 0;
	cursor: pointer;
}

.ms-ct .milhosoja-botao-foto {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 20px;
	border: 0;
	border-radius: var(--ms-pilula);
	background: #FFFFFF;
	box-shadow: inset 0 0 0 2px var(--ms-marinho);
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 700 !important;
	color: var(--ms-marinho) !important;
	cursor: pointer;
}

.ms-ct .milhosoja-botao-foto:hover {
	background: var(--ms-fundo);
}

.ms-ct .jet-form-builder-file-upload__fields input[type="file"]:focus-visible + .milhosoja-botao-foto {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

.ms-ct .milhosoja-arquivo-status {
	font-size: 15px;
	color: var(--ms-texto);
}

.ms-ct .jet-form-builder-file-upload__content:not(:has(.jet-form-builder-file-upload__file)) {
	display: none;
}

.ms-ct .jet-form-builder-file-upload__files {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 12px;
}

.ms-ct .jet-form-builder-file-upload__file {
	position: relative;
	width: 104px;
	height: 104px;
	border: 1px solid var(--ms-linha);
	border-radius: 8px;
	overflow: hidden;
}

.ms-ct .jet-form-builder-file-upload__file img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ms-ct .jet-form-builder-file-upload__file-remove {
	position: absolute;
	top: 2px;
	right: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	cursor: pointer;
}

.ms-ct .jet-form-builder-file-upload__file-remove svg {
	box-sizing: content-box;
	width: 22px;
	height: 22px;
	padding: 7px;
	border-radius: 50%;
	background: #FFFFFF;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	fill: var(--ms-erro);
}

.ms-ct .jet-form-builder-file-upload__file-remove:focus-visible {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: -3px;
}

.ms-ct .jet-form-builder-file-upload__message {
	margin-top: 8px;
}

.ms-ct .jet-form-builder-file-upload__message small {
	font-size: 15px;
	color: var(--ms-texto);
}

/* Enviar e Cancelar lado a lado */
.ms-ct .jet-form-builder__submit-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin: 0;
}

.ms-ct .jet-form-builder__action-button-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin: 0;
}

/* Mensagens do JetFormBuilder (erro ou sucesso do envio) */
.ms-ct .jet-form-builder-message {
	margin: 16px 0 0;
	padding: 14px 16px;
	border-radius: var(--ms-raio);
	font-size: 16px;
	line-height: 1.5;
}

.ms-ct .jet-form-builder-message--error {
	border: 1.5px solid var(--ms-erro);
	background: #FDECEA;
	color: var(--ms-aviso-erro-texto);
}

.ms-ct .jet-form-builder-message--success {
	border: 1.5px solid var(--ms-verde);
	background: var(--ms-aviso-ok);
	color: var(--ms-marinho);
}

/* Caixa "Publicando..." (cobre a tela enquanto as fotos sobem) */
.milhosoja-salvando {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(13, 27, 42, 0.55);
}

.milhosoja-salvando__caixa {
	width: 100%;
	max-width: 360px;
	padding: 24px;
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	text-align: center;
	font-family: var(--ms-fonte);
	color: var(--ms-marinho);
	box-shadow: var(--ms-sombra-curta);
}

.milhosoja-salvando__giro {
	width: 40px;
	height: 40px;
	margin: 0 auto 16px;
	border: 4px solid var(--ms-linha);
	border-top-color: var(--ms-verde);
	border-radius: 50%;
	animation: milhosoja-giro 1s linear infinite;
}

@keyframes milhosoja-giro {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.milhosoja-salvando__giro {
		animation-duration: 3s;
	}
}

.milhosoja-salvando__titulo {
	margin: 0 0 6px;
	font-size: 18px;
	font-weight: 700;
}

.milhosoja-salvando__texto {
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
	color: var(--ms-texto);
}

/* ============================================================
   6. Painel (Meus anúncios)
   ============================================================ */

.ms-pn {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: flex-start;
	justify-content: space-between;
}

.ms-pn .ms-pn__principal {
	flex: 999 1 560px;
	min-width: 0;
}

.ms-pn .ms-pn__lateral {
	flex: 1 1 280px;
	max-width: 340px;
	min-width: 0;
}

.ms-ct .ms-pn__titulo {
	margin: 0;
	font-family: var(--ms-fonte);
	font-size: 26px;
	line-height: 1.25;
	font-weight: 800;
	color: var(--ms-marinho);
}

.ms-ct .ms-pn__quantos {
	margin: 4px 0 16px;
	font-size: 16px;
	color: var(--ms-texto);
}

.ms-ct .ms-pn__quantos strong {
	color: var(--ms-marinho);
}

/* A lista do JetEngine: uma coluna de cartões */
.ms-pn .jet-listing-grid__items {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	margin: 0 !important;
}

.ms-pn .jet-listing-grid__item {
	flex: none;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

.ms-pn .jet-listing-grid__item.milhosoja-novo .ms-pn-card {
	animation: milhosoja-destaque 4s ease-out 1;
}

@keyframes milhosoja-destaque {
	0%,
	60% {
		box-shadow: 0 0 0 4px var(--ms-verde-decoracao);
	}

	100% {
		box-shadow: 0 0 0 0 transparent;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ms-pn .jet-listing-grid__item.milhosoja-novo .ms-pn-card {
		animation: none;
		box-shadow: 0 0 0 4px var(--ms-verde-decoracao);
	}
}

.ms-pn .ms-pn-card {
	display: flex;
	gap: 22px;
	padding: 20px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
}

.ms-pn .ms-pn-card__foto {
	position: relative;
	flex: none;
	width: 200px;
	height: 150px;
	border-radius: 8px;
	background: var(--ms-fundo);
	overflow: hidden;
}

.ms-pn .ms-pn-card__foto--sem {
	display: flex;
	align-items: center;
	justify-content: center;
}

.ms-pn .ms-pn-card__foto--sem img {
	display: block;
	width: 72px;
	height: 72px;
}

.ms-pn .ms-pn-card__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ms-pn .ms-pn-card__grao {
	position: absolute;
	left: 8px;
	bottom: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--ms-pilula);
	background: #FFFFFF;
	box-shadow: 0 1px 4px rgba(13, 27, 42, 0.2);
}

.ms-pn .ms-pn-card__grao img {
	display: block;
	width: 24px;
	height: 24px;
}

.ms-pn .ms-pn-card__corpo {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ms-pn .ms-pn-card__selos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 8px;
}

.ms-pn .ms-pn-selo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 28px;
	padding: 0 12px;
	border-radius: var(--ms-pilula);
	font-family: var(--ms-fonte);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
}

.ms-pn .ms-pn-selo--verde {
	background: var(--ms-aviso-ok);
	color: #2F5D0B;
}

.ms-pn .ms-pn-selo--marinho {
	background: var(--ms-marinho);
	color: #FFFFFF;
}

.ms-pn .ms-pn-selo__ponto {
	width: 8px;
	height: 8px;
	border-radius: var(--ms-pilula);
	background: var(--ms-verde);
}

.ms-pn .ms-pn-card .ms-pn-card__titulo {
	margin: 0;
	font-family: var(--ms-fonte);
	font-size: 22px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-pn .ms-pn-card p {
	margin: 0;
}

.ms-pn .ms-pn-card .ms-pn-card__rotulo {
	font-size: 15px;
	color: var(--ms-texto);
}

.ms-pn .ms-pn-card .ms-pn-card__valor {
	font-size: 16px;
	color: var(--ms-texto);
}

.ms-pn .ms-pn-card .ms-pn-card__valor strong {
	font-size: 24px;
	font-weight: 800;
	color: var(--ms-marinho);
}

.ms-pn .ms-pn-card .ms-pn-card__combinar {
	font-size: 20px;
	font-weight: 700;
	color: var(--ms-marinho);
}

.ms-pn .ms-pn-card .ms-pn-card__info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 16px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-pn .ms-pn-card .ms-pn-card__info > span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.ms-pn .ms-pn-card .ms-pn-card__info .ms-icone {
	color: var(--ms-verde);
}

.ms-pn .ms-pn-card__acoes {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
}

.ms-pn .ms-pn-card__acoes .elementor-widget-container,
.ms-pn .ms-pn-card__acoes .jet-listing {
	display: contents;
}

/* "Excluir": texto vermelho sublinhado, 44 px */
.ms-pn .ms-pn-card .jet-listing-dynamic-link__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px !important;
	border-radius: var(--ms-pilula);
	background: transparent;
	font-family: var(--ms-fonte);
	font-size: 16px !important;
	font-weight: 600 !important;
	color: var(--ms-erro) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ms-pn .ms-pn-card .jet-listing-dynamic-link__link:hover,
.ms-pn .ms-pn-card .jet-listing-dynamic-link__link:focus-visible {
	background: #FDECEA;
	color: var(--ms-erro) !important;
}

.ms-pn .ms-pn-card .jet-listing-dynamic-link__icon {
	display: none;
}

/* Sem anúncio nenhum */
.ms-pn .ms-pn__vazio {
	padding: 32px 24px;
	border: 1.5px dashed var(--ms-campo-borda);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	text-align: center;
	font-size: 17px;
}

.ms-pn .ms-pn__vazio p {
	margin: 0 0 16px;
	font-size: 18px;
	line-height: 1.5;
	color: var(--ms-marinho);
}

/* Seus dados (ao lado da lista) */
.ms-pn .ms-pn__dados {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ms-pn .ms-pn__dados li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-pn .ms-pn__icone {
	flex: none;
	margin-top: 3px;
	color: var(--ms-verde);
}

.ms-pn .ms-pn__rotulo {
	display: block;
	font-size: 15px;
	color: var(--ms-texto);
}

.ms-pn .ms-pn__dados strong {
	font-weight: 600;
	color: var(--ms-marinho);
	overflow-wrap: anywhere;
}

.ms-pn .ms-pn__editar.ms-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	margin-top: 12px;
	font-size: 16px;
}

/* Janela de confirmar a exclusão (a de hoje, no desenho novo) */
.milhosoja-excluir {
	width: calc(100% - 32px);
	max-width: 420px;
	padding: 24px;
	border: 0;
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	box-shadow: var(--ms-sombra-curta);
	font-family: var(--ms-fonte);
	color: var(--ms-marinho);
}

.milhosoja-excluir::backdrop {
	background: rgba(13, 27, 42, 0.55);
}

.milhosoja-excluir p {
	margin: 0 0 20px;
	font-size: 17px;
	line-height: 1.5;
	color: var(--ms-marinho);
}

.milhosoja-excluir__botoes {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px 12px;
}

.milhosoja-excluir .milhosoja-excluir__botoes button {
	min-height: 44px;
	padding: 0 20px;
	border: 0;
	border-radius: var(--ms-pilula);
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}

.milhosoja-excluir .milhosoja-excluir__cancelar {
	background: #FFFFFF;
	box-shadow: inset 0 0 0 2px var(--ms-marinho);
	color: var(--ms-marinho);
}

.milhosoja-excluir .milhosoja-excluir__cancelar:hover,
.milhosoja-excluir .milhosoja-excluir__cancelar:focus-visible {
	background: var(--ms-fundo);
	color: var(--ms-marinho);
}

.milhosoja-excluir .milhosoja-excluir__confirmar {
	background: var(--ms-erro);
	color: #FFFFFF;
}

.milhosoja-excluir .milhosoja-excluir__confirmar:hover,
.milhosoja-excluir .milhosoja-excluir__confirmar:focus-visible {
	background: #8F1C13;
	color: #FFFFFF;
}

.milhosoja-excluir button:focus-visible {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

/* ============================================================
   7. Meus dados
   ============================================================ */

.ms-ct .ms-md {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: flex-start;
	font-family: var(--ms-fonte);
	color: var(--ms-texto);
}

.ms-ct .ms-md__principal {
	flex: 999 1 560px;
	min-width: 0;
	max-width: 720px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.ms-ct .ms-md__lateral {
	flex: 1 1 280px;
	min-width: 0;
	max-width: 380px;
}

.ms-ct .ms-md__lateral p {
	margin: 0 0 8px;
	font-size: 16px;
	line-height: 1.5;
}

.ms-ct .milhosoja-md__secao h2 {
	margin: 0 0 8px;
	font-family: var(--ms-fonte);
	font-size: 24px;
	line-height: 1.25;
	font-weight: 800;
	color: var(--ms-marinho);
}

.ms-ct .milhosoja-md__linha {
	margin: 0 0 20px;
}

.ms-ct .milhosoja-md__fixo {
	display: flex;
	align-items: center;
	min-height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1.5px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
	font-size: 16px;
	color: var(--ms-marinho);
	overflow-wrap: anywhere;
}

.ms-ct .milhosoja-md__geral {
	margin: 0 0 20px;
	padding: 14px 16px;
	border: 1.5px solid var(--ms-erro);
	border-radius: var(--ms-raio);
	background: #FDECEA;
	font-size: 16px;
	color: var(--ms-aviso-erro-texto);
}

.ms-ct .milhosoja-md__senha {
	display: flex;
	align-items: stretch;
}

.ms-ct .milhosoja-md__mostrar {
	margin-bottom: 20px;
}

.ms-ct .milhosoja-md select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 40px;
	background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230D1B2A' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center;
}

/* ============================================================
   8. Tela do WordPress para recuperar a senha (wp-login.php)
   ============================================================ */

body.ms-login-wp *,
body.ms-login-wp *::before,
body.ms-login-wp *::after {
	box-sizing: border-box;
}

body.ms-login-wp {
	min-width: 0;
	margin: 0;
	padding: 0;
	background: #FFFFFF;
	font-family: var(--ms-fonte);
	color: var(--ms-texto);
}

body.ms-login-wp h1.screen-reader-text,
body.ms-login-wp #login > h1.wp-login-logo,
body.ms-login-wp #backtoblog,
body.ms-login-wp .privacy-policy-page-link,
body.ms-login-wp .language-switcher {
	display: none;
}

body.ms-login-wp .ms-ct--login .ms-ct__secao {
	padding-top: 56px;
}

body.ms-login-wp #login {
	width: 100%;
	max-width: 520px;
	margin: 0;
	padding: 28px;
	font-size: 17px;
}

body.ms-login-wp #login .ms-ct-h2 {
	margin: 0 0 8px;
	font-family: var(--ms-fonte);
	font-size: 26px;
	line-height: 1.25;
	font-weight: 800;
	color: var(--ms-marinho);
}

body.ms-login-wp #login .message,
body.ms-login-wp #login .notice,
body.ms-login-wp #login #login_error {
	margin: 0 0 20px;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	font-size: 17px;
	line-height: 1.6;
	color: var(--ms-texto);
}

body.ms-login-wp #login .message p,
body.ms-login-wp #login .notice p {
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
}

body.ms-login-wp #login #login_error {
	padding: 14px 16px;
	border: 1.5px solid var(--ms-erro);
	border-radius: var(--ms-raio);
	background: #FDECEA;
	font-size: 16px;
	color: var(--ms-aviso-erro-texto);
}

body.ms-login-wp #login form {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

body.ms-login-wp #login form p {
	margin: 0 0 20px;
}

body.ms-login-wp #login form .submit {
	margin: 0;
}

body.ms-login-wp #login .button-primary {
	float: none;
	width: 100%;
}

body.ms-login-wp #login label[for="user_login"]::after {
	content: " *";
	color: var(--ms-erro);
}

body.ms-login-wp #login .wp-pwd {
	display: flex;
	gap: 8px;
	align-items: stretch;
}

body.ms-login-wp #login .wp-pwd .button.wp-hide-pw {
	min-width: 48px;
	min-height: 48px;
	border: 0;
	background: #FFFFFF;
	box-shadow: inset 0 0 0 1.5px var(--ms-marinho);
	border-radius: var(--ms-pilula);
	color: var(--ms-marinho);
}

body.ms-login-wp #login #nav {
	display: flex;
	justify-content: center;
	margin: 12px 0 0;
	padding: 0;
	text-align: center;
}

body.ms-login-wp #login #nav a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--ms-laranja-texto);
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.ms-login-wp #login #nav a:hover {
	color: var(--ms-marinho);
}

body.ms-login-wp #login input[type="text"]:focus,
body.ms-login-wp #login input[type="password"]:focus {
	border-color: var(--ms-campo-borda);
	box-shadow: none;
}

body.ms-login-wp #login a:focus-visible {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
	box-shadow: none;
}

/* ============================================================
   9. Celular (até 767 px)
   ============================================================ */

@media (max-width: 767px) {
	.ms-ct .ms-ct__miolo {
		padding-left: var(--ms-gutter-celular);
		padding-right: var(--ms-gutter-celular);
	}

	.ms-ct .ms-ct__faixa .ms-ct__miolo {
		padding-top: 0;
		padding-bottom: 32px;
	}

	.ms-ct .ms-ct__titulo-bloco h1 {
		margin-top: 4px;
		font-size: 32px;
	}

	.ms-ct .ms-ct__titulo-bloco p {
		font-size: 17px;
	}

	.ms-ct .ms-ct__abas-in {
		padding-left: 10px;
		padding-right: 10px;
	}

	.ms-ct .ms-ct__aba.ms-ct__aba {
		padding: 0 10px;
		font-size: 15px;
	}

	.ms-ct .ms-ct__secao,
	.ms-ct--painel .ms-ct__secao,
	.ms-ct--anunciar .ms-ct__secao,
	.ms-ct--editar .ms-ct__secao,
	.ms-ct--meus-dados .ms-ct__secao {
		padding-top: 32px;
		padding-bottom: 48px;
	}

	.ms-ct .ms-ct-card,
	body.ms-login-wp #login {
		padding: 22px;
	}

	.ms-ct--cadastro form.jet-form-builder {
		grid-template-columns: minmax(0, 1fr);
	}

	.ms-ct .ms-ct__principal,
	.ms-ct .ms-md__principal {
		flex-basis: 100%;
	}

	.ms-ct .ms-ct__lateral,
	.ms-ct .ms-md__lateral,
	.ms-pn .ms-pn__lateral {
		flex-basis: 100%;
		max-width: none;
	}

	.ms-ct .jet-form-builder button.jet-form-builder__submit {
		width: 100%;
	}

	.ms-ct .jet-form-builder .ms-ct-cancelar {
		width: 100%;
		justify-content: center;
	}

	.ms-ct .milhosoja-botao-foto {
		width: 100%;
	}

	.ms-ct .milhosoja-arquivo-status {
		display: block;
	}

	.ms-ct .milhosoja-md button.milhosoja-md__botao {
		width: 100%;
	}

	.ms-ct .milhosoja-ver-senha {
		padding: 0 12px;
	}

	.ms-pn .ms-pn-card {
		flex-direction: column;
		gap: 16px;
		padding: 16px;
	}

	.ms-pn .ms-pn-card__foto {
		width: 100%;
		height: 168px;
	}

	.ms-ct .ms-pn__titulo {
		font-size: 24px;
	}
}

@media (min-width: 768px) {
	.ms-ct .jet-form-builder-row:has(input[name="categoria-classificados"]) .jet-form-builder__fields-group {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* ============================================================
   10. Atualizar preços (/painel/precos/, Issue #63)
   Prefixo ms-pe. Pensada para o celular (390 px): uma coluna, campos de 48 px, botão fixo embaixo; no computador a lista fica
   na coluna principal e a ajuda ao lado.
   ============================================================ */

.ms-ct--precos .ms-ct__secao {
	padding-top: 40px;
	padding-bottom: 72px;
}

.ms-ct .ms-pe__principal {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.ms-ct .ms-pe__ultima {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-ct .ms-pe__ultima strong {
	color: var(--ms-marinho);
}

.ms-ct .ms-pe__h2 {
	margin: 0 0 8px;
	font-family: var(--ms-fonte);
	font-size: 24px;
	line-height: 1.25;
	font-weight: 800;
	color: var(--ms-marinho);
}

.ms-ct .ms-pe__h3 {
	margin: 0 0 12px;
	font-family: var(--ms-fonte);
	font-size: 20px;
	line-height: 1.3;
	font-weight: 800;
	color: var(--ms-marinho);
}

/* Com JavaScript as abas já dizem o grão: o título do grão fica só para leitor de tela. */
.ms-ct .ms-pe--js .ms-pe__h3 {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.ms-ct .ms-pe__ajuda {
	margin: 0 0 16px;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-ct .ms-pe__proibido h2 {
	margin: 0 0 12px;
	font-family: var(--ms-fonte);
	font-size: 24px;
	line-height: 1.25;
	font-weight: 800;
	color: var(--ms-marinho);
}

.ms-ct .ms-pe__proibido p {
	margin: 0 0 20px;
	font-size: 17px;
	line-height: 1.55;
}

/* Campos de texto da tela (busca, preço, preço do lote) */
.ms-ct .ms-pe__entrada {
	display: block;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1.5px solid var(--ms-campo-borda);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	box-shadow: none;
	font-family: var(--ms-fonte);
	font-size: 16px;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.ms-ct .ms-pe__entrada::placeholder {
	color: var(--ms-apoio);
	opacity: 1;
}

.ms-ct .ms-pe__entrada:focus-visible {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

.ms-ct .ms-pe__entrada[aria-invalid="true"] {
	border: 2px solid var(--ms-erro);
}

.ms-ct .ms-pe__rotulo {
	display: block;
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.ms-ct .ms-pe__busca {
	margin: 0 0 16px;
}

.ms-ct .ms-pe__busca-info,
.ms-ct .ms-pe__lote-info {
	margin: 6px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-ct .ms-pe__busca-info:empty,
.ms-ct .ms-pe__lote-info:empty {
	display: none;
}

/* Abas por grão */
.ms-ct .ms-pe__abas {
	display: flex;
	gap: 4px;
	margin: 0 0 16px;
	border-bottom: 1px solid var(--ms-linha);
}

.ms-ct .ms-pe__abas[hidden] {
	display: none;
}

.ms-ct .ms-pe__aba {
	flex: 1 1 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 0;
	min-height: 48px;
	padding: 0 8px;
	border: 0;
	border-bottom: 3px solid transparent;
	background: transparent;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 600;
	color: var(--ms-texto);
	cursor: pointer;
}

.ms-ct .ms-pe__aba[aria-selected="true"] {
	border-bottom-color: var(--ms-laranja);
	color: var(--ms-marinho);
}

.ms-ct .ms-pe__aba:hover {
	background: var(--ms-fundo);
	color: var(--ms-laranja-escuro);
}

.ms-ct .ms-pe__aba:focus-visible {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: -3px;
}

/* As duas abas da tela (preços e histórico): as mesmas abas, com o texto podendo quebrar em duas linhas no celular */
.ms-ct .ms-pe__abas--pagina .ms-pe__aba {
	padding: 6px 8px;
	line-height: 1.3;
	text-align: center;
}

.ms-ct .ms-pe__nao-salvos {
	color: var(--ms-laranja-escuro);
	font-weight: 600;
}

.ms-ct .ms-pe__nao-salvos[hidden] {
	display: none;
}

/* Com as abas, o título de cada parte já é o nome da aba: o h2 fica só para o leitor de tela */
.ms-ct .ms-pe--guias .ms-pe__h2 {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.ms-ct [data-pe-guia-painel][hidden] {
	display: none;
}

.ms-ct .ms-pe__conta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: var(--ms-pilula);
	background: var(--ms-marinho);
	font-size: 13px;
	font-weight: 700;
	color: #FFFFFF;
}

.ms-ct .ms-pe__conta[hidden] {
	display: none;
}

.ms-ct .ms-pe__painel[hidden] {
	display: none;
}

.ms-ct .ms-pe:not(:has(.ms-pe--js)) .ms-pe__painel + .ms-pe__painel {
	margin-top: 24px;
}

/* Mesmo preço para vários estados */
.ms-ct .ms-pe__lote {
	margin: 0 0 16px;
	border: 1px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
}

.ms-ct .ms-pe__lote[hidden] {
	display: none;
}

.ms-ct .ms-pe__lote summary {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 0 14px;
	font-size: 16px;
	font-weight: 600;
	color: var(--ms-marinho);
	cursor: pointer;
}

.ms-ct .ms-pe__lote summary:focus-visible,
.ms-ct .ms-pe__outros summary:focus-visible {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

.ms-ct .ms-pe__lote-corpo {
	padding: 0 14px 14px;
}

.ms-ct .ms-pe__lote-corpo p {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-ct .ms-pe__lote-linha {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
	margin: 0 0 8px;
}

.ms-ct .ms-pe__lote-linha .ms-pe__campo {
	flex: 0 0 140px;
}

.ms-ct .ms-pe__lote-marcas {
	display: flex;
	flex-wrap: wrap;
	gap: 0 20px;
}

.ms-ct .ms-pe__link {
	min-height: 44px;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--ms-fonte);
	font-size: 15px;
	font-weight: 600;
	color: var(--ms-marinho);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.ms-ct .ms-pe__link:focus-visible {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

.ms-ct .ms-pe__nenhum {
	margin: 0 0 12px;
	font-size: 16px;
	color: var(--ms-texto);
}

.ms-ct .ms-pe__nenhum[hidden] {
	display: none;
}

/* A lista de estados */
.ms-ct .ms-pe__lista {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--ms-linha);
}

.ms-ct .ms-pe__linha {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 132px;
	grid-template-areas:
		"nome campo"
		"estado estado"
		"erro erro";
	column-gap: 12px;
	align-items: center;
	margin: 0;
	padding: 10px 0 10px 12px;
	border-bottom: 1px solid var(--ms-linha);
	border-left: 4px solid transparent;
}

.ms-ct .ms-pe__linha[hidden] {
	display: none;
}

.ms-ct .ms-pe__linha.is-alterado {
	border-left-color: var(--ms-laranja);
	background: #FFF7EC;
}

.ms-ct .ms-pe--lote .ms-pe__linha {
	grid-template-columns: 44px minmax(0, 1fr) 132px;
	grid-template-areas:
		"marca nome campo"
		". estado estado"
		". erro erro";
}

.ms-ct .ms-pe__marca {
	display: none;
	grid-area: marca;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	cursor: pointer;
}

.ms-ct .ms-pe--lote .ms-pe__marca:not([hidden]) {
	display: flex;
}

.ms-ct .ms-pe__marca input {
	width: 24px;
	height: 24px;
	margin: 0;
	accent-color: var(--ms-marinho);
}

.ms-ct .ms-pe__marca input:focus-visible {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

.ms-ct .ms-pe__nome {
	grid-area: nome;
	min-width: 0;
}

.ms-ct .ms-pe__nome label {
	display: block;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ms-marinho);
}

.ms-ct .ms-pe__uf {
	font-size: 14px;
	font-weight: 500;
	color: var(--ms-texto);
}

.ms-ct .ms-pe__quando {
	display: block;
	font-size: 14px;
	line-height: 1.4;
	color: var(--ms-texto);
}

.ms-ct .ms-pe__campo {
	position: relative;
	grid-area: campo;
}

.ms-ct .ms-pe__rs {
	position: absolute;
	top: 50%;
	left: 14px;
	transform: translateY(-50%);
	font-size: 16px;
	font-weight: 600;
	color: var(--ms-texto);
	pointer-events: none;
}

.ms-ct .ms-pe__preco {
	padding-left: 42px;
	font-weight: 600;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.ms-ct .ms-pe__linha.is-alterado .ms-pe__preco {
	border-color: var(--ms-laranja-escuro);
}

.ms-ct .ms-pe__estado {
	grid-area: estado;
	margin: 4px 0 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-laranja-escuro);
}

.ms-ct .ms-pe__estado:empty {
	display: none;
}

.ms-ct .ms-pe__erro {
	grid-area: erro;
	display: block;
	margin: 6px 0 0;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--ms-erro);
}

/* Estados sem preço */
.ms-ct .ms-pe__outros {
	margin: 16px 0 0;
}

.ms-ct .ms-pe__outros[hidden] {
	display: none;
}

.ms-ct .ms-pe__outros summary {
	display: flex;
	align-items: center;
	min-height: 48px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-marinho);
	cursor: pointer;
}

/* Confirmação de mudança grande */
.ms-ct .ms-pe__confirmar {
	margin: 20px 0 0;
	padding: 16px;
	border: 2px solid var(--ms-laranja-escuro);
	border-radius: var(--ms-raio);
	background: #FFF7EC;
}

.ms-ct .ms-pe__confirmar[hidden] {
	display: none;
}

.ms-ct .ms-pe__confirmar legend {
	padding: 0 6px;
	font-size: 18px;
	font-weight: 800;
	color: var(--ms-marinho);
}

.ms-ct .ms-pe__confirmar p {
	margin: 0 0 8px;
	font-size: 16px;
	line-height: 1.5;
}

.ms-ct .ms-pe__confirmar ul {
	margin: 0 0 8px;
	padding-left: 20px;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--ms-marinho);
}

.ms-ct .ms-pe__confirma {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	font-size: 16px;
	font-weight: 600;
	color: var(--ms-marinho);
	cursor: pointer;
}

.ms-ct .ms-pe__confirma input {
	flex: none;
	width: 24px;
	height: 24px;
	margin: 0;
	accent-color: var(--ms-marinho);
}

.ms-ct .ms-pe__confirma input:focus-visible {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

/* Barra do botão salvar: fica colada no pé da tela enquanto a lista é longa */
.ms-ct .ms-pe__acoes {
	position: sticky;
	bottom: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	margin: 20px -28px -28px;
	padding: 12px 28px;
	border-top: 1px solid var(--ms-linha);
	border-radius: 0 0 var(--ms-raio) var(--ms-raio);
	background: #FFFFFF;
}

.ms-ct .ms-pe__resumo {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-size: 16px;
	line-height: 1.4;
	color: var(--ms-texto);
}

.ms-ct .ms-pe__resumo.is-ativo {
	font-weight: 700;
	color: var(--ms-laranja-escuro);
}

.ms-ct .ms-pe__resumo.is-erro {
	font-weight: 700;
	color: var(--ms-erro);
}

.ms-ct .ms-pe__salvar {
	flex: none;
}

.ms-ct .ms-pe__salvar[disabled] {
	opacity: 0.65;
	cursor: progress;
}

/* Histórico */
.ms-ct .ms-pe__hist {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--ms-linha);
}

.ms-ct .ms-pe__hist-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2px 16px;
	align-items: center;
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid var(--ms-linha);
}

.ms-ct .ms-pe__hist-item[hidden] {
	display: none;
}

.ms-ct .ms-pe__hist-quando {
	grid-column: 1;
	margin: 0;
	font-size: 14px;
	line-height: 1.4;
	color: var(--ms-texto);
}

.ms-ct .ms-pe__hist-texto {
	grid-column: 1;
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-marinho);
}

.ms-ct .ms-pe__hist-nota {
	font-size: 14px;
	color: var(--ms-texto);
}

.ms-ct .ms-pe__hist-form {
	grid-column: 2;
	grid-row: 1 / span 2;
	margin: 0;
}

.ms-ct .ms-pe__desfazer-confirma h2 {
	margin: 0 0 8px;
	font-family: var(--ms-fonte);
	font-size: 22px;
	line-height: 1.25;
	font-weight: 800;
	color: var(--ms-marinho);
}

.ms-ct .ms-pe__desfazer-confirma p {
	margin: 0 0 16px;
	font-size: 17px;
	line-height: 1.5;
}

.ms-ct .ms-pe__botoes {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

@media (max-width: 767px) {
	.ms-ct .ms-pe__form,
	.ms-ct .ms-pe__historico {
		padding: 16px;
	}

	.ms-ct .ms-pe__acoes {
		margin: 16px -16px -16px;
		padding: 12px 16px;
	}

	.ms-ct .ms-pe__h2 {
		font-size: 20px;
	}

	.ms-ct .ms-pe__aba {
		padding: 0 4px;
		gap: 4px;
	}

	.ms-ct .ms-pe__linha {
		padding-left: 8px;
	}

	.ms-ct .ms-pe__hist-item {
		grid-template-columns: 1fr;
	}

	.ms-ct .ms-pe__hist-form {
		grid-column: 1;
		grid-row: auto;
		margin-top: 6px;
	}
}


/* ============================================================
   11. Comentários para aprovar (/painel/comentarios/)
   Prefixo ms-mc. Feita para o celular (390 px): uma coluna de cartões, botões de 52 px lado a lado. A faixa ms-mc-faixa é o
   aviso no topo de /painel/ para quem aprova.
   ============================================================ */

.ms-ct--comentarios .ms-ct__secao {
	padding-top: 32px;
	padding-bottom: 72px;
}

.ms-ct .ms-mc {
	max-width: 760px;
}

.ms-ct .ms-mc .ms-mc__resumo {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.ms-ct .ms-mc .ms-mc__erro {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 16px;
	padding: 14px 16px;
	border: 2px solid var(--ms-erro);
	border-radius: var(--ms-raio);
	background: var(--ms-branco);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--ms-erro);
}

.ms-ct .ms-mc .ms-mc__erro[hidden] {
	display: none;
}

.ms-ct .ms-mc .ms-mc__erro .ms-icone {
	flex: none;
	margin-top: 1px;
}

.ms-ct .ms-mc .ms-mc__lista {
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ms-ct .ms-mc .ms-mc__cartao {
	padding: 18px 16px 16px;
	border: 1.5px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: var(--ms-branco);
}

.ms-ct .ms-mc .ms-mc__quem {
	display: grid;
	gap: 2px;
}

.ms-ct .ms-mc .ms-mc__nome {
	margin: 0;
	font-family: var(--ms-fonte);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.3;
	color: var(--ms-marinho);
	overflow-wrap: anywhere;
}

.ms-ct .ms-mc .ms-mc__meta {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
	overflow-wrap: anywhere;
}

.ms-ct .ms-mc .ms-mc__pagina {
	margin: 12px 0 0;
	padding: 10px 12px;
	border-radius: 10px;
	background: var(--ms-fundo);
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-ct .ms-mc .ms-mc__texto {
	margin-top: 14px;
	font-size: 17px;
	line-height: 1.6;
	color: var(--ms-marinho);
	overflow-wrap: anywhere;
}

.ms-ct .ms-mc .ms-mc__texto p {
	margin: 0 0 10px;
	font-size: 17px;
	line-height: 1.6;
	color: var(--ms-marinho);
}

.ms-ct .ms-mc .ms-mc__texto p:last-child {
	margin-bottom: 0;
}

.ms-ct .ms-mc .ms-mc__acoes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin: 18px 0 0;
}

.ms-ct .ms-mc .ms-mc__acoes .ms-btn {
	width: 100%;
	padding: 0 12px;
}

/* O cartão que fica no lugar do comentário tratado: "Aprovado" ou "Recusado" e o botão "Desfazer". */
.ms-ct .ms-mc .ms-mc__item--feito {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border-radius: var(--ms-raio);
	background: var(--ms-aviso-ok);
}

.ms-ct .ms-mc .ms-mc__item--recusado {
	background: var(--ms-fundo);
}

.ms-ct .ms-mc .ms-mc__feito {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-size: 17px;
	line-height: 1.5;
	color: var(--ms-marinho);
	overflow-wrap: anywhere;
}

.ms-ct .ms-mc .ms-mc__feito .ms-icone {
	flex: none;
	margin-top: 2px;
}

.ms-ct .ms-mc .ms-mc__desfazer {
	margin: 0;
}

.ms-ct .ms-mc .ms-mc__vazio {
	margin: 0;
	padding: 28px 16px;
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
	font-size: 18px;
	line-height: 1.5;
	text-align: center;
	color: var(--ms-texto);
}

.ms-ct .ms-mc .ms-mc__vazio[hidden],
.ms-ct .ms-mc .ms-mc__resumo[hidden] {
	display: none;
}

.ms-ct .ms-mc .ms-mc__paginas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 24px;
}

.ms-ct .ms-mc .ms-mc__pagina-atual {
	font-size: 16px;
	color: var(--ms-texto);
}

/* A faixa no topo de /painel/ para quem aprova comentários. */
.ms-ct .ms-mc-faixa {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	margin: 0 0 24px;
	padding: 16px;
	border-left: 6px solid var(--ms-laranja);
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
}

.ms-ct .ms-mc-faixa .ms-mc-faixa__texto {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--ms-marinho);
}

@media (min-width: 768px) {
	.ms-ct .ms-mc .ms-mc__cartao {
		padding: 22px 24px 20px;
	}

	.ms-ct .ms-mc .ms-mc__quem {
		grid-template-columns: auto 1fr auto;
		align-items: baseline;
		gap: 4px 16px;
	}

	.ms-ct .ms-mc .ms-mc__acoes {
		grid-template-columns: auto auto;
		justify-content: start;
	}

	.ms-ct .ms-mc .ms-mc__acoes .ms-btn {
		min-width: 160px;
	}
}

/* ============================================================
   12. Auditoria (/painel/auditoria/)
   Prefixo ms-au. Só do administrador. Celular primeiro: filtros em uma coluna, um cartão por registro; no computador os filtros
   ficam lado a lado. Sem JavaScript.
   ============================================================ */

.ms-ct--auditoria .ms-ct__secao {
	padding-top: 32px;
	padding-bottom: 72px;
}

.ms-ct .ms-au {
	max-width: 960px;
}

.ms-ct .ms-au .ms-au__filtros {
	display: grid;
	gap: 14px;
	margin: 0 0 24px;
	padding: 16px;
	border: 1.5px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: var(--ms-branco);
}

.ms-ct .ms-au .ms-au__campo {
	min-width: 0;
}

.ms-ct .ms-au .ms-au__rotulo {
	display: block;
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.ms-ct .ms-au .ms-au__entrada {
	display: block;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1.5px solid var(--ms-campo-borda);
	border-radius: var(--ms-raio);
	background: #FFFFFF;
	box-shadow: none;
	font-family: var(--ms-fonte);
	font-size: 16px;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.ms-ct .ms-au .ms-au__entrada:focus-visible {
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
}

.ms-ct .ms-au .ms-au__botoes {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.ms-ct .ms-au .ms-au__botoes .ms-btn {
	flex: 1 1 140px;
}

.ms-ct .ms-au .ms-au__resumo {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.ms-ct .ms-au .ms-au__lista {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ms-ct .ms-au .ms-au__cartao {
	display: grid;
	gap: 6px;
	padding: 16px;
	border: 1.5px solid var(--ms-linha);
	border-radius: var(--ms-raio);
	background: var(--ms-branco);
}

.ms-ct .ms-au .ms-au__item--login-falhou .ms-au__cartao {
	background: var(--ms-fundo);
}

.ms-ct .ms-au .ms-au__topo {
	display: grid;
	gap: 2px;
}

.ms-ct .ms-au .ms-au__acao {
	margin: 0;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
	color: var(--ms-marinho);
	overflow-wrap: anywhere;
}

.ms-ct .ms-au .ms-au__quando {
	margin: 0;
	font-size: 15px;
	line-height: 1.4;
	color: var(--ms-texto);
}

.ms-ct .ms-au .ms-au__quem,
.ms-ct .ms-au .ms-au__objeto,
.ms-ct .ms-au .ms-au__mudanca {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-marinho);
	overflow-wrap: anywhere;
}

.ms-ct .ms-au .ms-au__dica {
	font-weight: 600;
	color: var(--ms-texto);
}

.ms-ct .ms-au .ms-au__antes {
	text-decoration: line-through;
	text-decoration-thickness: 1px;
	color: var(--ms-texto);
}

.ms-ct .ms-au .ms-au__seta {
	margin: 0 4px;
	font-weight: 700;
	color: var(--ms-laranja-escuro);
}

.ms-ct .ms-au .ms-au__depois {
	font-weight: 700;
}

.ms-ct .ms-au .ms-au__contexto {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
	overflow-wrap: anywhere;
}

.ms-ct .ms-au .ms-au__vazio {
	margin: 0;
	padding: 28px 16px;
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
	font-size: 18px;
	line-height: 1.5;
	text-align: center;
	color: var(--ms-texto);
}

.ms-ct .ms-au .ms-au__paginas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 24px;
}

.ms-ct .ms-au .ms-au__pagina-atual {
	font-size: 16px;
	color: var(--ms-texto);
}

@media (min-width: 600px) {
	.ms-ct .ms-au .ms-au__filtros {
		grid-template-columns: 1fr 1fr;
	}

	.ms-ct .ms-au .ms-au__botoes {
		grid-column: 1 / -1;
	}

	.ms-ct .ms-au .ms-au__botoes .ms-btn {
		flex: 0 0 auto;
		min-width: 160px;
	}
}

@media (min-width: 1000px) {
	.ms-ct .ms-au .ms-au__filtros {
		grid-template-columns: 1.2fr 1.2fr 1fr 1fr;
	}
}

@media (min-width: 768px) {
	.ms-ct .ms-au .ms-au__cartao {
		padding: 18px 24px;
	}

	.ms-ct .ms-au .ms-au__topo {
		grid-template-columns: 1fr auto;
		align-items: baseline;
		gap: 4px 16px;
	}
}

/* ---- assets/css/comentarios.css ---- */
/*
 * MilhoSoja · comentários das páginas de cidade (template-parts/comentarios.php, plugin: inc/comentarios.php).
 *
 * Celular primeiro: tudo em uma coluna, campos de 48 px com texto de 16 px (o iPhone não dá zoom), botão de largura total.
 * O cartão do comentário e o do formulário usam o cinza #F2F2F2 do site; os campos são brancos com borda de 1,5 px. O erro vem
 * com texto (não só cor) e um ícone, e o resumo acima do botão diz o que falta. Prefixo ms-com.
 */

.ms-main .ms-com {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid var(--ms-linha);
}

.ms-main .ms-com .ms-com__titulo {
	margin: 0;
	font-size: 26px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--ms-marinho);
}

.ms-main .ms-com .ms-com__subtitulo {
	margin: 0;
	font-size: 21px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--ms-marinho);
	scroll-margin-top: 16px;
}

/* ---- A lista ---- */

.ms-main .ms-com .ms-com__lista,
.ms-main .ms-com .ms-com__respostas {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ms-main .ms-com .ms-com__lista {
	display: grid;
	gap: 14px;
	margin-top: 20px;
}

.ms-main .ms-com .ms-com__respostas {
	display: grid;
	gap: 10px;
	margin: 10px 0 0 16px;
}

.ms-main .ms-com .ms-com__cartao {
	padding: 16px;
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
}

.ms-main .ms-com .ms-com__item--equipe .ms-com__cartao {
	border-left: 4px solid var(--ms-verde);
}

.ms-main .ms-com .ms-com__quem {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 12px;
	margin: 0;
	font-size: 16px;
	line-height: 1.4;
}

.ms-main .ms-com .ms-com__nome {
	font-weight: 700;
	color: var(--ms-marinho);
	overflow-wrap: anywhere;
}

.ms-main .ms-com .ms-com__data {
	font-size: 15px;
	color: var(--ms-texto);
}

/* A marca do comentário que a pessoa acabou de mandar: só aparece na página aberta, para quem escreveu (comentarios.js). */
.ms-main .ms-com .ms-com__pendente {
	display: inline-block;
	padding: 2px 10px;
	border: 1.5px solid var(--ms-laranja-escuro);
	border-radius: var(--ms-pilula);
	background: var(--ms-branco);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--ms-laranja-escuro);
}

.ms-main .ms-com .ms-com__texto {
	margin-top: 6px;
	font-size: 16px;
	line-height: 1.6;
	color: var(--ms-texto);
	overflow-wrap: anywhere;
}

.ms-main .ms-com .ms-com__texto p {
	margin: 0 0 10px;
}

.ms-main .ms-com .ms-com__texto p:last-child {
	margin-bottom: 0;
}

.ms-main .ms-com .ms-com__vazio {
	margin: 14px 0 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
}

/* ---- O formulário ---- */

.ms-main .ms-com .ms-com__form-caixa {
	margin-top: 32px;
	padding: 20px 16px 22px;
	border-radius: var(--ms-raio);
	background: var(--ms-fundo);
}

.ms-main .ms-com .ms-com__intro {
	margin: 8px 0 0;
	font-size: 16px;
	line-height: 1.55;
	color: var(--ms-texto);
}

.ms-main .ms-com .ms-com__form {
	display: grid;
	gap: 20px;
	margin-top: 20px;
}

.ms-main .ms-com .ms-com__campo {
	min-width: 0;
}

.ms-main .ms-com .ms-com__rotulo {
	display: block;
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-marinho);
}

.ms-main .ms-com .ms-com__input {
	display: block;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1.5px solid var(--ms-campo-borda);
	border-radius: var(--ms-raio);
	background: var(--ms-branco);
	font-family: var(--ms-fonte);
	font-size: 16px;
	line-height: 1.4;
	color: var(--ms-marinho);
	box-shadow: none;
}

.ms-main .ms-com .ms-com__input--texto {
	min-height: 140px;
	padding: 12px 14px;
	resize: vertical;
}

/* A verificação antirrobô tem o desenho próprio em base.css (.ms-verif); aqui só o fundo: o bloco é branco sobre o cartão cinza. */
.ms-main .ms-com .ms-verif.ms-verif {
	background: var(--ms-branco);
}

.ms-main .ms-com .ms-com__input:focus,
.ms-main .ms-com .ms-com__input:focus-visible {
	border-color: var(--ms-campo-borda);
	outline: 3px solid var(--ms-laranja-texto);
	outline-offset: 2px;
	background: var(--ms-branco);
	color: var(--ms-marinho);
}

.ms-main .ms-com .ms-com__campo--erro .ms-com__input {
	border: 2px solid var(--ms-erro);
}

.ms-main .ms-com .ms-com__ajuda {
	margin: 6px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-main .ms-com .ms-com__erro {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin: 6px 0 0;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--ms-erro);
}

.ms-main .ms-com .ms-com__erro .ms-icone {
	margin-top: 2px;
}

/* A linha do aceite é o alvo de toque inteiro (48 px); o quadradinho tem 24 px. */
.ms-main .ms-com .ms-com__aceite {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ms-marinho);
	cursor: pointer;
}

.ms-main .ms-com .ms-com__aceite input {
	flex: none;
	width: 24px;
	height: 24px;
	margin: 0;
	accent-color: var(--ms-verde);
	cursor: pointer;
}

.ms-main .ms-com .ms-com__campo--erro .ms-com__aceite {
	color: var(--ms-erro);
}

/* O resumo de erros fica logo acima do botão e é o .ms-resumo-erros de base.css. */

.ms-main .ms-com .ms-com__aviso {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 16px 0 0;
	padding: 14px 16px;
	border-radius: var(--ms-raio);
	background: var(--ms-aviso-ok);
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-marinho);
}

.ms-main .ms-com .ms-com__aviso .ms-icone {
	margin-top: 2px;
}

.ms-main .ms-com .ms-com__logado {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ms-texto);
}

.ms-main .ms-com .ms-com__envio .ms-btn {
	width: 100%;
}

/* A ratoeira: fora da tela e sem tamanho. Pessoa não a vê nem chega nela com o Tab; robô que lê o HTML a preenche. */
.ms-main .ms-com .ms-com__ratoeira {
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.ms-main .ms-com .ms-com__ratoeira input {
	width: 0;
	height: 0;
	padding: 0;
	border: 0;
}

@media (min-width: 768px) {
	.ms-main .ms-com {
		margin-top: 64px;
		padding-top: 40px;
	}

	.ms-main .ms-com .ms-com__titulo {
		font-size: 30px;
	}

	.ms-main .ms-com .ms-com__form-caixa {
		padding: 28px 28px 30px;
	}

	.ms-main .ms-com .ms-com__cartao {
		padding: 18px 20px;
	}

	.ms-main .ms-com .ms-com__respostas {
		margin-left: 32px;
	}

	.ms-main .ms-com .ms-com__envio .ms-btn {
		width: auto;
	}
}

/* ---- assets/css/cookies.css ---- */
/*
 * MilhoSoja · faixa de cookies (template-parts/cookies.php) e o botão "Preferências de cookies" do rodapé.
 *
 * Celular primeiro: o texto em cima e os dois botões lado a lado, do mesmo tamanho e da mesma cor (recusar tão fácil quanto aceitar).
 * Fundo marinho, texto branco, botões laranja com texto marinho (contraste AA). No computador a faixa vira uma linha. Fica fixa no
 * pé da tela, mas o fim da página ganha o espaço dela (assets/js/cookies.js mede e põe em --ms-cookies-altura): ela nunca cobre o
 * último texto ou o rodapé. Enquanto aberta, esconde a barra fixa "Enviar proposta" do celular.
 */

.ms-cookies {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 40;
	background: var(--ms-marinho);
	color: #FFFFFF;
	font-family: var(--ms-fonte);
	font-size: 15px;
	line-height: 1.45;
	box-shadow: var(--ms-sombra-barra);
}

.ms-cookies[hidden] {
	display: none;
}

.ms-cookies .ms-cookies__in {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: var(--ms-container);
	margin: 0 auto;
	padding: 12px var(--ms-gutter-celular) 14px;
}

.ms-cookies .ms-cookies__titulo {
	margin: 0 0 2px;
	font-family: var(--ms-fonte);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	color: #FFFFFF;
}

.ms-cookies .ms-cookies__frase,
.ms-cookies .ms-cookies__atual {
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
	color: var(--ms-texto-escuro);
}

.ms-cookies .ms-cookies__atual {
	margin-top: 4px;
	font-weight: 600;
	color: #FFFFFF;
}

.ms-cookies .ms-cookies__frase .ms-link {
	display: inline-block;
	padding: 12px 0;
}

.ms-cookies .ms-cookies__acoes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.ms-cookies .ms-cookies__acoes .ms-btn {
	min-height: 48px;
	padding: 0 16px;
}

@media (min-width: 768px) {
	.ms-cookies .ms-cookies__in {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 32px;
		padding: 14px var(--ms-gutter);
	}

	.ms-cookies .ms-cookies__acoes {
		display: flex;
		flex: none;
	}

	.ms-cookies .ms-cookies__acoes .ms-btn {
		min-width: 132px;
	}
}

/* Enquanto a faixa está aberta: o fim da página ganha o espaço dela e a barra fixa do celular sai de baixo dela. */
html[data-cookies-aberto] .ms-barra {
	display: none;
}

html[data-cookies-aberto] body,
html[data-cookies-aberto] body:has(.ms-barra:not([data-oculta])) {
	padding-bottom: var(--ms-cookies-altura, 150px);
}

/* "Preferências de cookies" no rodapé: botão com cara de link, igual ao da Política de privacidade. */
.ms-rod .ms-rod__cookies {
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--ms-fonte);
	line-height: 1.5;
	cursor: pointer;
}

/* ---- assets/css/kit-elementor.css ---- */
/*
 * MilhoSoja · regras do kit global do Elementor (kit 9) que sempre valeram em todas as páginas do site.
 *
 * O Elementor imprime o CSS do kit (uploads/elementor/css/post-9.css) em toda página e põe a classe elementor-kit-9 no <body>. Cinco
 * regras dele atingem qualquer parágrafo, link e título, inclusive nas páginas desenhadas só pelo tema. Como o desenho do tema foi
 * conferido com elas valendo, elas vêm para cá, iguais, para as páginas só de código (inc/assets.php) não precisarem carregar
 * o Elementor. Vem por último no pacote, como o CSS do kit vinha depois do CSS do tema (em empate de força, a última regra vale).
 * Mudar o tamanho de um link ou título aqui muda o site inteiro; mexer no kit no Elementor não muda mais as páginas só de código.
 */
.elementor-kit-9 p {
	margin-block-end: 2px;
}

.elementor-kit-9 a {
	font-size: 14px;
}

.elementor-kit-9 h1 {
	font-size: 20px;
}

.elementor-kit-9 h2 {
	font-size: 18px;
}

.elementor-kit-9 h3 {
	font-size: 18px;
}
