/* Mel Mapa de Apiários — estilo do mapa, do cadastro e da confirmação (tudo dentro de .mma).
   Títulos: fonte de título do tema (Flatsome: Personalizar › Estilo › Tipografia › Títulos).
   --mma-titulo vem do PHP (Flatsome) e é conferida no navegador por google.js (lê a fonte de um <h2> do tema). */

.mma {
	--mma-mel: #E9A21B;
	--mma-mel-claro: #F7C65B;
	--mma-ambar: #8A5300;
	--mma-cacau: #2B1D0E;
	--mma-cacau-2: #4A3218;
	--mma-creme: #FFF8EC;
	--mma-creme-2: #FCEFD6;
	--mma-papel: #FFFFFF;
	--mma-texto: #3B2A17;
	--mma-suave: #6B5640;
	--mma-linha: #EFE2C8;
	--mma-borda: #DCC7A2;
	--mma-verde: #2F6B3A;
	--mma-verde-claro: #E4EFDF;
	--mma-wa: #1E7B45;
	--mma-erro: #9A3412;
	--mma-raio-g: 28px;
	--mma-raio: 18px;
	--mma-raio-p: 12px;
	--mma-sombra-1: 0 1px 2px rgba(43, 29, 14, .05), 0 1px 1px rgba(43, 29, 14, .03);
	--mma-sombra-2: 0 1px 2px rgba(43, 29, 14, .05), 0 12px 28px -16px rgba(43, 29, 14, .32);
	--mma-sombra-3: 0 2px 6px rgba(43, 29, 14, .05), 0 28px 60px -28px rgba(43, 29, 14, .45);
	--mma-topo: 20px;
	--mma-favo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 0l28 16v32L28 64 0 48V16zM28 64l28 16v32M28 64 0 80v32' fill='none' stroke='%23EAD9BB' stroke-width='1' opacity='.5'/%3E%3C/svg%3E");
	font-family: "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 16px;
	line-height: 1.55;
	color: var(--mma-texto);
	text-align: left;
	-webkit-font-smoothing: antialiased;
}
.mma *, .mma *::before, .mma *::after { box-sizing: border-box; }
.mma [hidden] { display: none !important; }
.mma ol, .mma ul { list-style: none; margin: 0; padding: 0; }
.mma li { margin: 0; }
.mma p { margin: 0; }
.mma svg { flex: none; }
.mma .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* Títulos com a fonte do tema */
.mma h2, .mma h3, .mma h4, .mma legend, .mma .mma-card-nome, .mma .heading-font, .mma .mma-titulo-fonte {
	font-family: var(--mma-titulo);
	font-weight: var(--mma-titulo-peso, 700);
	color: var(--mma-cacau);
	text-transform: none;
	letter-spacing: -.01em;
}
.mma h2, .mma h3, .mma h4 { width: auto; margin-top: 0; }

/* ---------- bloco do mapa ---------- */
.mma-app,
.mma-cad {
	position: relative;
	padding: clamp(1.25rem, 3.4vw, 2.75rem);
	border: 1px solid var(--mma-linha);
	border-radius: var(--mma-raio-g);
	background-color: var(--mma-creme);
	background-image: var(--mma-favo);
	box-shadow: var(--mma-sombra-1);
}
/* Página larga (de borda a borda): sem cantos e com o conteúdo centralizado. */
.mma-app.mma--sangria {
	border-radius: 0; border-left: 0; border-right: 0; box-shadow: none;
	padding-left: max(clamp(1.25rem, 3.4vw, 2.75rem), calc((100% - 1360px) / 2));
	padding-right: max(clamp(1.25rem, 3.4vw, 2.75rem), calc((100% - 1360px) / 2));
}

.mma-cab { margin: 0 0 1.75rem; }
.mma-tag {
	display: inline-flex; align-items: center; gap: .55rem;
	margin: 0 0 .85rem !important;
	font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
	color: var(--mma-ambar);
}
.mma-tag::before { content: ""; width: 24px; height: 2px; border-radius: 2px; background: var(--mma-mel); }
.mma .mma-titulo { margin: 0 0 .7rem !important; font-size: clamp(1.9rem, 3.4vw, 2.9rem) !important; line-height: 1.08 !important; letter-spacing: -.025em; text-wrap: balance; }
.mma .mma-titulo em { font-style: italic; color: var(--mma-ambar); }
.mma-sub { max-width: 62ch; font-size: 1.06rem; line-height: 1.6; color: var(--mma-suave); }

/* botões */
.mma .mma-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	height: 46px; min-height: 0; margin: 0; padding: 0 1.3rem;
	border: 1px solid transparent; border-radius: 999px;
	font: 600 .95rem/1 "Archivo", system-ui, sans-serif;
	text-transform: none; letter-spacing: 0; text-decoration: none; white-space: nowrap;
	box-shadow: none; cursor: pointer;
	transition: background-color .2s, border-color .2s, color .2s, transform .2s cubic-bezier(.2, 0, 0, 1), box-shadow .2s;
}
.mma .mma-btn svg { width: 19px; height: 19px; }
.mma .mma-btn:focus-visible, .mma button:focus-visible, .mma a:focus-visible { outline: 3px solid var(--mma-mel); outline-offset: 2px; }
.mma .mma-btn-escuro { background: var(--mma-cacau); border-color: var(--mma-cacau); color: #FFF3DC; }
.mma .mma-btn-escuro:hover { background: var(--mma-cacau-2); color: #FFF3DC; box-shadow: 0 12px 24px -14px rgba(43, 29, 14, .7); transform: translateY(-1px); }
.mma .mma-btn-linha { background: var(--mma-papel); border-color: var(--mma-borda); color: var(--mma-cacau); }
.mma .mma-btn-linha:hover { background: var(--mma-creme-2); border-color: var(--mma-mel); color: var(--mma-cacau); }
.mma .mma-btn-mel { background: var(--mma-mel); border-color: var(--mma-mel); color: var(--mma-cacau); }
.mma .mma-btn-mel:hover { background: var(--mma-mel-claro); border-color: var(--mma-mel-claro); color: var(--mma-cacau); transform: translateY(-1px); box-shadow: 0 10px 22px -14px rgba(138, 83, 0, .8); }
.mma .mma-btn-wa { height: 40px; padding: 0 1.05rem; background: var(--mma-wa); border-color: var(--mma-wa); color: #fff; font-size: .88rem; }
.mma .mma-btn-wa:hover { background: #17663A; color: #fff; transform: translateY(-1px); }
.mma .mma-btn-site { height: 40px; padding: 0 1rem; font-size: .86rem; }
.mma .mma-btn[disabled] { opacity: .6; cursor: progress; transform: none; }

/* busca */
.mma-busca {
	display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
	margin: 0; padding: .5rem;
	background: var(--mma-papel);
	border: 1px solid var(--mma-linha);
	border-radius: 999px;
	box-shadow: var(--mma-sombra-2);
	transition: box-shadow .2s, border-color .2s;
}
.mma-busca:focus-within { border-color: var(--mma-borda); box-shadow: 0 0 0 4px rgba(233, 162, 27, .18), var(--mma-sombra-2); }
.mma-campo-busca {
	position: relative;
	flex: 1 1 260px; display: flex; align-items: center; gap: .6rem;
	margin: 0 !important; padding: 0 .4rem 0 .9rem;
	font-weight: 400 !important;
}
.mma-campo-busca svg { width: 22px; height: 22px; color: var(--mma-ambar); }
.mma .mma-campo-busca input {
	flex: 1; width: 100%; height: 46px; min-width: 0; margin: 0; padding: 0;
	border: 0 !important; background: transparent !important; box-shadow: none !important;
	font: 400 1.06rem "Archivo", system-ui, sans-serif; color: var(--mma-texto);
}
.mma .mma-campo-busca input::placeholder { color: #9C8A70; }
.mma .mma-campo-busca input:focus { outline: none; }
.mma-perto svg { color: var(--mma-ambar); }

/* sugestões de cidade e estado */
.mma .mma-sugestoes {
	position: absolute; z-index: 30; top: calc(100% + .7rem); left: -.5rem; right: -.5rem;
	max-height: min(360px, 60vh); overflow-y: auto; margin: 0; padding: .4rem;
	background: var(--mma-papel); border: 1px solid var(--mma-linha); border-radius: var(--mma-raio);
	box-shadow: var(--mma-sombra-3);
}
.mma .mma-sugestoes li {
	display: flex; align-items: center; justify-content: space-between; gap: .75rem;
	padding: .65rem .8rem; border-radius: 10px; cursor: pointer;
}
.mma .mma-sugestoes li[aria-selected="true"], .mma .mma-sugestoes li:hover { background: var(--mma-creme-2); }
.mma-sug-nome { display: flex; align-items: baseline; gap: .45rem; min-width: 0; }
.mma-sug-nome b { overflow: hidden; font-weight: 400; color: var(--mma-cacau); text-overflow: ellipsis; white-space: nowrap; }
.mma .mma-sug-nome mark { padding: 0; background: none; color: inherit; font-weight: 700; }
.mma-sug-nome small { flex: none; font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--mma-suave); }
.mma-sug-n { flex: none; font-size: .76rem; font-weight: 600; color: var(--mma-ambar); white-space: nowrap; }

/* categorias e filtros */
.mma-cats { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.1rem 0 0; }
.mma .mma-cat {
	display: inline-flex; align-items: center; gap: .5rem; height: 40px; margin: 0; padding: 0 1rem 0 .8rem;
	border: 1px solid var(--mma-borda); border-radius: 999px; background: rgba(255, 255, 255, .7); box-shadow: none;
	font: 500 .9rem "Archivo", system-ui, sans-serif; text-transform: none; letter-spacing: 0; color: var(--mma-suave);
	cursor: pointer; transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s;
}
.mma .mma-cat i { width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--mma-cat); background: transparent; transition: background-color .15s; }
.mma .mma-cat b { font-weight: 600; font-size: .8rem; color: inherit; opacity: .7; }
.mma .mma-cat[aria-pressed="true"] { border-color: var(--mma-cat); background: var(--mma-papel); color: var(--mma-cacau); font-weight: 600; box-shadow: var(--mma-sombra-1); }
.mma .mma-cat[aria-pressed="true"] i { background: var(--mma-cat); }
.mma .mma-cat:hover { border-color: var(--mma-cat); }

.mma-filtros { margin: 1rem 0 0; }
.mma .mma-filtros-abrir { display: none; }
.mma-filtros-corpo { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .7rem .75rem; }
.mma .mma-f { display: flex; flex: 1 1 150px; max-width: 250px; flex-direction: column; gap: .3rem; margin: 0; font-weight: 400; }
.mma .mma-f.mma-f-off { display: none; }
.mma .mma-f-nome { flex-basis: 200px; }
.mma .mma-f > span { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mma-suave); }
.mma .mma-f select, .mma .mma-f input {
	width: 100%; min-width: 0; max-width: none; height: 42px; margin: 0; padding: 0 .8rem;
	border: 1px solid var(--mma-borda); border-radius: var(--mma-raio-p); background-color: var(--mma-papel); box-shadow: none;
	font: 400 .92rem "Archivo", system-ui, sans-serif; color: var(--mma-texto);
	transition: border-color .15s, box-shadow .15s;
}
.mma .mma-f select { padding-right: 1.9rem; }
.mma .mma-f select:focus, .mma .mma-f input:focus { outline: none; border-color: var(--mma-mel); box-shadow: 0 0 0 3px rgba(233, 162, 27, .25); }
/* "Só com produto à venda" */
.mma .mma-f.mma-f-venda { flex: 0 1 auto; flex-direction: row; align-items: center; gap: .5rem; align-self: flex-end; height: 42px; padding: 0 .9rem; border: 1px solid var(--mma-borda); border-radius: 999px; background: var(--mma-papel); cursor: pointer; }
.mma .mma-f.mma-f-venda > span { font-size: .9rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--mma-cacau); }
.mma .mma-f.mma-f-venda input { width: 18px; height: 18px; padding: 0; accent-color: var(--mma-verde); }
.mma .mma-limpar, .mma .mma-ver, .mma .mma-tirar-ref {
	height: auto; min-height: 0; margin: 0; padding: .35rem .2rem;
	border: 0; background: none; box-shadow: none;
	font: 600 .86rem "Archivo", system-ui, sans-serif; text-transform: none; letter-spacing: 0;
	color: var(--mma-ambar); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; cursor: pointer;
}
.mma .mma-limpar { align-self: center; margin-top: 1.1rem; }
.mma .mma-limpar:hover, .mma .mma-ver:hover { color: var(--mma-cacau); }
.mma .mma-ver { display: inline-flex; align-items: center; gap: .3rem; margin-left: auto; text-decoration: none; }
.mma .mma-ver svg { width: 16px; height: 16px; }
.mma .mma-ver span { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.mma-filtros-n {
	display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 .3rem;
	border-radius: 999px; background: var(--mma-mel); color: var(--mma-cacau); font-size: .74rem;
}

/* ---------- mapa + lista ----------
   Tela larga: lista à esquerda (rola com a página) e mapa fixo à direita.
   Tela estreita: mapa em cima, lista embaixo. */
.mma-corpo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin-top: 1.5rem; }
.mma-mapa-caixa {
	position: relative; height: min(62vh, var(--mma-altura, 560px)); overflow: hidden;
	border: 1px solid var(--mma-linha); border-radius: 22px; background: var(--mma-creme-2);
	box-shadow: var(--mma-sombra-3);
	isolation: isolate;
}
.mma-mapa { position: absolute; inset: 0; }
.mma-estado {
	position: absolute; z-index: 3; top: 1rem; left: 50%; transform: translateX(-50%);
	max-width: calc(100% - 2rem); padding: .6rem 1.1rem;
	border-radius: 999px; background: var(--mma-cacau); color: #FFF3DC;
	font-size: .9rem; text-align: center; box-shadow: 0 12px 28px -12px rgba(43, 29, 14, .7);
}
.mma-estado.mma-estado-erro { background: #7A2E14; }

/* mapa ainda não carregado: capa com "Abrir o mapa" (o Google só carrega quando precisa) */
.mma-capa { display: none; }
.mma--mapa-adiado .mma-capa {
	position: absolute; inset: 0; z-index: 2;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem;
	padding: 1.5rem; text-align: center;
	background-color: var(--mma-creme-2); background-image: var(--mma-favo);
}
.mma-capa-arte { width: 150px; height: auto; }
.mma .mma-capa-txt b { display: block; font-size: 1.4rem; line-height: 1.2; }
.mma-capa-txt span { display: block; max-width: 34ch; margin: .3rem auto 0; font-size: .92rem; line-height: 1.5; color: var(--mma-suave); }
.mma .mma-abrir-mapa[disabled] { cursor: progress; }

.mma-lista { min-width: 0; }
.mma-lista-cab { display: flex; flex-direction: column; gap: .15rem; padding: 0 0 .9rem; }
.mma .mma-lista-titulo { display: flex; align-items: center; gap: .5rem; margin: 0 !important; font-size: 1.35rem !important; line-height: 1.2 !important; }
.mma .mma-tirar-ref {
	display: inline-grid; flex: none; place-items: center; width: 28px; height: 28px; padding: 0;
	border-radius: 50%; background: var(--mma-creme-2); text-decoration: none; font-size: 1.1rem; line-height: 1; color: var(--mma-ambar);
}
.mma .mma-tirar-ref:hover { background: var(--mma-mel); color: var(--mma-cacau); }
.mma-lista-conta { font-size: .88rem; color: var(--mma-suave); }

/* cartões */
.mma-cards { display: grid; gap: .85rem; }
.mma-card {
	position: relative;
	padding: 1.1rem 1.15rem 1rem;
	border: 1px solid var(--mma-linha); border-radius: var(--mma-raio); background: var(--mma-papel);
	box-shadow: var(--mma-sombra-1);
	transition: border-color .2s, box-shadow .25s, transform .25s cubic-bezier(.2, 0, 0, 1);
	scroll-margin-top: calc(var(--mma-topo) + 84px); scroll-margin-bottom: 16px;
}
.mma-card:hover { border-color: var(--mma-borda); box-shadow: var(--mma-sombra-2); }
.mma-card.ativo { border-color: var(--mma-mel); box-shadow: 0 0 0 3px rgba(233, 162, 27, .28), var(--mma-sombra-2); }
.mma-card-topo { display: flex; align-items: flex-start; gap: .85rem; }
.mma-av {
	display: grid; flex: none; place-items: center; width: 46px; height: 50px; margin-top: .05rem;
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
	background: var(--mma-av, var(--mma-mel)); color: var(--mma-cacau);
	font: 700 .95rem/1 "Archivo", system-ui, sans-serif; letter-spacing: .02em;
}
.mma-av.mma-av-escuro { color: #FFF3DC; }
.mma-card-id { flex: 1; min-width: 0; }
.mma-card-cat { display: flex; align-items: center; gap: .4rem; margin: 0 0 .2rem !important; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mma-suave); }
.mma-card-cat i { width: 8px; height: 8px; flex: none; border-radius: 50%; }
.mma .mma-card-nome { margin: 0 !important; font-size: 1.12rem !important; line-height: 1.25 !important; overflow-wrap: anywhere; }
.mma-card-dist {
	flex: none; margin-top: .1rem; padding: .18rem .6rem; border-radius: 999px; background: var(--mma-creme-2);
	font-size: .76rem; font-weight: 700; color: var(--mma-ambar); white-space: nowrap;
}
.mma-card-local { display: flex; align-items: flex-start; gap: .35rem; margin: .3rem 0 0 !important; font-size: .87rem; line-height: 1.45; color: var(--mma-suave); }
.mma-card-local svg { width: 15px; height: 15px; margin-top: .15rem; color: var(--mma-ambar); }
.mma-card-corpo { margin: .75rem 0 0; padding-left: calc(46px + .85rem); }
.mma-card-corpo:empty { display: none; }
.mma-tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.mma-tags li { padding: .16rem .6rem; border-radius: 999px; font-size: .76rem; line-height: 1.5; }
.mma-tags .fl { background: var(--mma-creme-2); color: var(--mma-ambar); }
.mma-tags .es { background: var(--mma-verde-claro); color: var(--mma-verde); }
.mma-tags .pr { border: 1px solid var(--mma-linha); color: var(--mma-suave); }
.mma-tags .mais { background: var(--mma-cacau); color: #FFF3DC; cursor: help; }
.mma-card-desc {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	margin-top: .6rem !important; font-size: .87rem; color: var(--mma-suave);
}
.mma-card-acoes {
	display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .9rem;
	margin: .9rem 0 0; padding-top: .85rem; border-top: 1px solid var(--mma-linha);
}
.mma .mma-mais { width: 100%; margin-top: 1rem; }

/* chamada para apicultores */
.mma-chamada {
	position: relative; overflow: hidden;
	display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem;
	margin-top: 2rem; padding: 1.5rem 1.75rem;
	border-radius: 22px; background: var(--mma-cacau); color: #FFF3DC;
	box-shadow: var(--mma-sombra-2);
}
.mma-chamada::after {
	content: ""; position: absolute; inset: 0 0 0 auto; width: 45%; pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 0l28 16v32L28 64 0 48V16zM28 64l28 16v32M28 64 0 80v32' fill='none' stroke='%23E9A21B' stroke-width='1' opacity='.22'/%3E%3C/svg%3E");
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 70%); mask-image: linear-gradient(90deg, transparent, #000 70%);
}
.mma-chamada > * { position: relative; z-index: 1; }
.mma .mma-chamada b { display: block; margin-bottom: .2rem; font-size: 1.35rem; line-height: 1.2; color: #FFF3DC; }
.mma-chamada span { display: block; max-width: 62ch; font-size: .95rem; color: rgba(255, 243, 220, .8); }
.mma .mma-chamada .mma-btn { height: 50px; padding: 0 1.6rem; font-size: 1rem; }

/* marcadores avançados (com Map ID) */
.mma-pino svg { display: block; filter: drop-shadow(0 2px 2px rgba(43, 29, 14, .3)); transition: transform .15s; transform-origin: 50% 100%; }
.mma-pino:hover svg, .mma-pino.mma-pino-destaque svg { transform: scale(1.22); }
.mma-cluster { position: relative; display: grid; place-items: center; }
.mma-cluster svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.mma-cluster span { position: relative; font: 700 12px "Archivo", system-ui, sans-serif; color: #2B1D0E; }
.mma-voce svg { display: block; }

/* janela do marcador */
.mma.mma-info { min-width: 230px; max-width: 290px; padding: .15rem .2rem .25rem; background: none; border: 0; font-size: 15px; }
.mma.mma-info .mma-card-nome { display: block; font-size: 1.06rem !important; padding-right: .3rem; }
.mma.mma-info .mma-card-local { margin-bottom: .55rem !important; }
.mma-info-nota { margin-top: .5rem !important; font-size: .74rem; color: var(--mma-suave); font-style: italic; }
.mma.mma-info .mma-card-acoes { margin-top: .65rem; padding-top: .6rem; }

/* sem mapa (sem chave ou chave recusada) */
.mma--sem-mapa .mma-mapa { display: none; }
.mma--sem-mapa .mma-mapa-caixa { height: auto; overflow: visible; border: 0; background: none; box-shadow: none; }
.mma--sem-mapa .mma-estado { position: static; display: inline-block; transform: none; margin-bottom: .6rem; }
.mma--sem-mapa .mma-cards { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.mma--sem-mapa .mma-mais { max-width: 320px; margin-left: auto; margin-right: auto; display: flex; }

.mma-aviso-admin { margin: 0 0 1rem; padding: .7rem 1rem; border-left: 4px solid #E9A21B; background: #FFF4D6; font-size: .9rem; }

/* ---------- formulário de cadastro ---------- */
.mma-cad { max-width: 900px; margin: 0 auto; }
.mma .mma-passo { min-width: 0; margin: 0 0 2rem; padding: 0; border: 0; }
.mma .mma-passo legend {
	display: flex; align-items: center; gap: .7rem; width: 100%;
	margin: 0 0 1.1rem; padding: 0; font-size: 1.45rem !important; line-height: 1.2;
}
.mma .mma-passo legend:focus { outline: none; }
.mma-num {
	display: inline-grid; flex: none; place-items: center; width: 34px; height: 30px;
	clip-path: polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0 50%);
	background: var(--mma-mel); color: var(--mma-cacau);
	font: 700 .92rem "Archivo", system-ui, sans-serif; letter-spacing: 0;
}
.mma-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.1rem; }
.mma .mma-c { display: flex; flex-direction: column; gap: .35rem; margin: 0; font-size: 1rem; font-weight: 400; }
.mma .mma-c-2 { grid-column: span 2; }
.mma .mma-c > span { font-size: .86rem; font-weight: 600; color: var(--mma-cacau); }
.mma .mma-c > span i { font-style: normal; color: var(--mma-ambar); }
.mma .mma-c input, .mma .mma-c select, .mma .mma-c textarea {
	width: 100%; max-width: none; height: 50px; margin: 0; padding: 0 .95rem;
	border: 1px solid var(--mma-borda); border-radius: var(--mma-raio-p); background-color: var(--mma-papel); box-shadow: 0 1px 0 rgba(43, 29, 14, .03);
	font: 400 1rem "Archivo", system-ui, sans-serif; color: var(--mma-texto);
	transition: border-color .2s, box-shadow .2s;
}
.mma .mma-c textarea { height: auto; min-height: 100px; padding: .8rem .95rem; line-height: 1.5; resize: vertical; }
.mma .mma-c input:focus, .mma .mma-c select:focus, .mma .mma-c textarea:focus {
	outline: none; border-color: var(--mma-mel); box-shadow: 0 0 0 4px rgba(233, 162, 27, .22);
}
.mma .mma-c input::placeholder, .mma .mma-c textarea::placeholder { color: #A8957A; }
.mma .mma-c.mma-erro input, .mma .mma-c.mma-erro select, .mma .mma-c.mma-erro textarea { border-color: #B4441B; box-shadow: 0 0 0 3px rgba(180, 68, 27, .12); }
.mma .mma-erro-txt { display: block; margin-top: .3rem; font-size: .83rem; font-weight: 600; color: var(--mma-erro); }
.mma-rot { margin: 1.2rem 0 .55rem !important; font-size: .86rem; font-weight: 600; color: var(--mma-cacau); }
.mma-passo .mma-rot:first-of-type { margin-top: 0 !important; }
.mma-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.mma .mma-chip { position: relative; margin: 0; font-weight: 400; cursor: pointer; }
.mma .mma-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.mma .mma-chip span {
	display: inline-flex; align-items: center; gap: .35rem; padding: .48rem .95rem;
	border: 1px solid var(--mma-borda); border-radius: 999px; background: var(--mma-papel);
	font-size: .92rem; color: var(--mma-texto); transition: background-color .15s, border-color .15s, color .15s;
}
.mma .mma-chip:hover span { border-color: var(--mma-mel); }
.mma .mma-chip input:focus-visible + span { outline: 3px solid rgba(233, 162, 27, .45); outline-offset: 1px; }
.mma .mma-chip input:checked + span { background: var(--mma-mel); border-color: var(--mma-mel); color: var(--mma-cacau); font-weight: 600; }
.mma .mma-chip input:checked + span::before { content: "✓"; font-weight: 700; }
.mma .mma-chips-verde .mma-chip input:checked + span { background: var(--mma-verde-claro); border-color: var(--mma-verde); color: var(--mma-verde); }
.mma .mma-chips-linha .mma-chip input:checked + span { background: var(--mma-cacau); border-color: var(--mma-cacau); color: #FFF3DC; }
.mma .mma-outras { max-width: 460px; margin-top: .7rem; }
.mma .mma-outras input { height: 44px; }
.mma-passo [data-campo="descricao"] { margin-top: 1.3rem; }

.mma-pino-caixa { margin-top: 1.1rem; }
.mma-pino-acoes { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .7rem; }
.mma-pino-mapa { height: 360px; overflow: hidden; border: 1px solid var(--mma-linha); border-radius: var(--mma-raio); background: var(--mma-creme-2); box-shadow: var(--mma-sombra-2); }
.mma-sem-mapa .mma-pino-mapa, .mma-sem-mapa .mma-pino-acoes { display: none; }
.mma-dica { margin-top: .55rem !important; font-size: .86rem; color: var(--mma-suave); }
.mma-pino-caixa.mma-erro .mma-pino-mapa { border-color: #B4441B; }

.mma .mma-aceite {
	display: flex; align-items: flex-start; gap: .75rem; margin: 0; padding: 1rem 1.1rem;
	border: 1px solid var(--mma-linha); border-radius: 14px; background: var(--mma-papel);
	font-size: .93rem; font-weight: 400; line-height: 1.5; color: var(--mma-texto); cursor: pointer;
	flex-wrap: wrap;
}
.mma .mma-aceite > span { flex: 1 1 0; min-width: 200px; }
.mma .mma-aceite input { flex: none; width: 20px; height: 20px; margin: .15rem 0 0; accent-color: var(--mma-ambar); }
.mma .mma-aceite .mma-erro-txt { flex-basis: 100%; margin-left: 2rem; }
.mma .mma-aceite.mma-erro { border-color: #B4441B; }
.mma-enviar { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1rem; }
.mma .mma-btn-grande { height: 54px; padding: 0 2.1rem; font-size: 1.05rem; }
.mma-form-msg { font-size: .92rem; }
.mma-form-msg.mma-form-msg-erro { font-weight: 600; color: var(--mma-erro); }
.mma-isca { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mma-ok { padding: 2.5rem 1rem; text-align: center; outline: none; }
.mma-ok svg { width: 70px; height: 70px; margin: 0 auto .9rem; display: block; }
.mma .mma-ok h3 { margin: 0 0 .5rem !important; font-size: 1.9rem !important; }
.mma-ok p { max-width: 48ch; margin: 0 auto !important; color: var(--mma-suave); }

/* cadastro em etapas */
.mma-etapas { display: flex; gap: .4rem; margin: 0 0 .9rem !important; counter-reset: none; }
.mma-etapas li { flex: 1 1 0; min-width: 0; }
.mma .mma-etapas button {
	display: flex; align-items: center; gap: .55rem; width: 100%; height: auto; min-height: 0; margin: 0; padding: .35rem .2rem;
	border: 0; background: none; box-shadow: none; cursor: default;
	font: 600 .85rem/1.25 "Archivo", system-ui, sans-serif; text-align: left; text-transform: none; letter-spacing: 0; color: var(--mma-suave);
}
.mma .mma-etapas .mma-num { width: 30px; height: 27px; font-size: .82rem; background: var(--mma-papel); box-shadow: inset 0 0 0 1px var(--mma-borda); color: var(--mma-suave); transition: background-color .2s, color .2s; }
.mma-etapa-rot { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mma .mma-etapas li.atual button { color: var(--mma-cacau); }
.mma .mma-etapas li.atual .mma-num { background: var(--mma-mel); box-shadow: none; color: var(--mma-cacau); }
.mma .mma-etapas li.feita button { cursor: pointer; color: var(--mma-cacau); }
.mma .mma-etapas li.feita .mma-num { background: var(--mma-cacau); box-shadow: none; color: #FFF3DC; }
.mma .mma-etapas li.feita button:hover .mma-etapa-rot { text-decoration: underline; text-underline-offset: 3px; }
.mma-etapas-barra { height: 4px; margin: 0 0 2rem; overflow: hidden; border-radius: 4px; background: var(--mma-linha); }
.mma-etapas-barra i { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, var(--mma-mel), var(--mma-ambar)); transition: width .35s cubic-bezier(.2, 0, 0, 1); }
.mma-passos-on .mma-passo { animation: mma-entra .3s cubic-bezier(.2, 0, 0, 1); }
.mma-passos-on .mma-passo legend .mma-num { display: none; }
.mma-rodape { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin-top: .5rem; padding-top: 1.4rem; border-top: 1px solid var(--mma-linha); }
.mma-rodape .mma-voltar { margin-right: auto !important; }
.mma-rodape .mma-continuar { margin-left: auto !important; }
.mma-rodape .mma-enviar { margin-left: auto; justify-content: flex-end; }
.mma-rodape .mma-form-msg { flex-basis: 100%; order: 9; text-align: right; }
.mma-resumo { display: grid; gap: .7rem; margin: 0 0 1.3rem; }
.mma-resumo section { padding: .95rem 1.1rem; border: 1px solid var(--mma-linha); border-radius: 14px; background: var(--mma-papel); }
.mma-resumo-cab { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .35rem; }
.mma .mma-resumo-cab b { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mma-ambar); }
.mma .mma-resumo-cab button { height: auto; min-height: 0; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; font: 600 .84rem "Archivo", system-ui, sans-serif; text-transform: none; letter-spacing: 0; color: var(--mma-ambar); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.mma-resumo p { font-size: .95rem; line-height: 1.5; color: var(--mma-texto); overflow-wrap: anywhere; }
.mma-resumo p + p { margin-top: .2rem; }
.mma-resumo small { color: var(--mma-suave); }
@keyframes mma-entra { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* ---------- solicitar contato ---------- */
.mma .mma-btn-pedir { height: 40px; padding: 0 1.05rem; font-size: .88rem; }
.mma-dialogo {
	width: min(520px, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); margin: auto; padding: 1.8rem 1.7rem 1.5rem;
	border: 1px solid var(--mma-linha); border-radius: 24px; background: var(--mma-creme); color: var(--mma-texto);
	box-shadow: 0 40px 90px -30px rgba(43, 29, 14, .6);
}
.mma-dialogo[open] { animation: mma-entra .25s cubic-bezier(.2, 0, 0, 1); }
.mma-dialogo::backdrop { background: rgba(43, 29, 14, .5); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.mma .mma-dialogo h3 { margin: 0 0 .45rem !important; font-size: 1.5rem !important; line-height: 1.2 !important; }
.mma-dlg-sub { margin-bottom: 1.1rem !important; font-size: .93rem; color: var(--mma-suave); }
.mma .mma-pedido { display: grid; gap: .8rem; }
.mma .mma-pedido .mma-c span small { font-weight: 400; color: var(--mma-suave); }
.mma .mma-pedido .mma-c input { height: 48px; }
.mma .mma-dlg-fechar {
	position: absolute; top: .8rem; right: .9rem; width: 36px; height: 36px; margin: 0; padding: 0;
	border: 0; border-radius: 50%; background: var(--mma-creme-2); box-shadow: none;
	font: 400 1.4rem/1 system-ui, sans-serif; color: var(--mma-ambar); cursor: pointer;
}
.mma .mma-dlg-fechar:hover { background: var(--mma-mel); color: var(--mma-cacau); }
.mma-dialogo .mma-tag { margin-bottom: .45rem !important; }
.mma-pedido .mma-c.mma-erro input, .mma-pedido .mma-aceite.mma-erro { border-color: #B4441B; }
.mma-dlg-ok { padding: 1rem 0 .4rem; text-align: center; }
.mma-dlg-ok svg { width: 60px; height: 60px; display: block; margin: 0 auto .75rem; }
.mma-dlg-ok p { margin: .3rem auto 1.2rem !important; max-width: 40ch; color: var(--mma-suave); }
.mma-dlg-ok-botoes { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.mma .mma-dlg-ok-botoes .mma-btn-wa { height: 46px; padding: 0 1.3rem; font-size: .95rem; }

/* lotes à venda (página de venda do FIPMEL) */
.mma-venda { margin: .7rem 0 0; padding: .6rem .8rem; border-radius: 12px; background: var(--mma-verde-claro); }
.mma .mma-venda p { margin: 0 0 .2rem !important; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mma-verde); }
.mma-venda li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 .6rem; font-size: .85rem; line-height: 1.5; }
.mma-venda li b { font-weight: 600; color: var(--mma-cacau); }
.mma-venda li span { color: var(--mma-suave); white-space: nowrap; }
.mma-venda li.mais { color: var(--mma-verde); font-weight: 600; }

.mma-completar { margin: 0 0 1.5rem !important; padding: .9rem 1.1rem; border-left: 4px solid var(--mma-mel); border-radius: 10px; background: var(--mma-papel); box-shadow: var(--mma-sombra-1); }

/* página de confirmação */
.mma-conf { max-width: 720px; margin: 0 auto; }
.mma-conf-card { padding: clamp(1.3rem, 4vw, 2.4rem); border: 1px solid var(--mma-linha); border-radius: var(--mma-raio-g); background-color: var(--mma-creme); background-image: var(--mma-favo); box-shadow: var(--mma-sombra-2); }
.mma .mma-conf-card h2 { margin: 0 0 .7rem !important; font-size: clamp(1.6rem, 4vw, 2.3rem) !important; line-height: 1.12 !important; }
.mma .mma-conf-card h3 { margin: 1.5rem 0 .6rem !important; font-size: 1.2rem !important; }
.mma-conf-card > p { margin-bottom: .9rem !important; }
.mma-conf-codigo { display: inline-block; padding: .3rem .85rem; border-radius: 999px; background: var(--mma-creme-2); font-size: .9rem; color: var(--mma-ambar); }
.mma-conf-codigo b { letter-spacing: .12em; color: var(--mma-cacau); }
.mma-conf-dados { display: grid; grid-template-columns: max-content 1fr; gap: .4rem 1rem; margin: 1rem 0 1.3rem; padding: 1rem 1.1rem; border: 1px solid var(--mma-linha); border-radius: 14px; background: var(--mma-papel); font-size: .95rem; }
.mma-conf-dados dt { font-weight: 600; color: var(--mma-cacau); }
.mma-conf-dados dd { margin: 0; }
.mma .mma-conf-form { display: grid; gap: .9rem; margin: 0 0 1rem; }
.mma .mma-conf-form .mma-btn { justify-self: start; }
.mma-conf-recusar { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; margin-top: .4rem; font-size: .86rem; color: var(--mma-suave); }
.mma .mma-conf-recusar .mma-conf-form { margin: 0; }
.mma-conf-acoes { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.2rem 0; }
.mma-conf-sair { margin-top: 1.4rem; font-size: .9rem; color: var(--mma-suave); }
.mma-conf-sair summary { cursor: pointer; color: var(--mma-ambar); font-weight: 600; }
.mma-conf-sair[open] summary { margin-bottom: .7rem; }
.mma-pedidos { display: grid; gap: .6rem; margin: 0 0 1rem; }
.mma-pedidos li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1rem; padding: .85rem 1rem; border: 1px solid var(--mma-linha); border-radius: 14px; background: var(--mma-papel); }
.mma-pedidos li b { display: block; color: var(--mma-cacau); }
.mma-pedidos li span { font-size: .8rem; color: var(--mma-suave); }
.mma-pedidos li p { margin: .3rem 0 0 !important; font-size: .9rem; font-style: italic; color: var(--mma-suave); }

/* ---------- tamanhos ----------
   Usa a largura do próprio bloco (container query), não da tela:
   funciona igual numa coluna estreita do tema ou numa página larga. */
.mma-app, .mma-cad { container: mma / inline-size; }

/* Tela larga: lista + mapa fixo ao lado. */
@container mma (min-width: 900px) {
	.mma-corpo { grid-template-columns: minmax(340px, 420px) minmax(0, 1fr); gap: 1.75rem; align-items: start; }
	.mma-lista { order: -1; }
	.mma-mapa-caixa {
		position: sticky; top: var(--mma-topo);
		height: calc(100vh - var(--mma-topo) - 20px); height: calc(100dvh - var(--mma-topo) - 20px);
		min-height: 520px; max-height: 980px;
		transition: top .2s ease;
	}
	.mma-lista-cab {
		position: sticky; top: var(--mma-topo); z-index: 4;
		margin: 0 -.6rem .9rem; padding: .35rem .6rem .8rem;
		border-bottom: 1px solid transparent;
		transition: top .2s ease, border-color .2s;
	}
	/* grudado no topo: fundo, linha e o vão até o cabeçalho do tema coberto */
	.mma--cab-fixo .mma-lista-cab { border-bottom-color: var(--mma-linha); background: var(--mma-creme); box-shadow: 0 -18px 0 var(--mma-creme), 0 14px 18px -18px rgba(43, 29, 14, .45); }
	.mma--sem-mapa .mma-corpo { grid-template-columns: minmax(0, 1fr); }
	.mma--sem-mapa .mma-lista { order: 0; }
	.mma--sem-mapa .mma-lista-cab { position: static; background: none; margin: 0; padding: 0 0 .9rem; }
}
@container mma (max-width: 899px) {
	.mma--sem-mapa .mma-mapa-caixa, .mma--mapa-adiado .mma-mapa-caixa { height: auto; }
	.mma--mapa-adiado .mma-capa { position: relative; inset: auto; flex-direction: row; justify-content: flex-start; gap: .9rem; padding: 1rem 1.1rem; text-align: left; }
	.mma--mapa-adiado .mma-capa-arte { flex: none; width: 76px; }
	.mma--mapa-adiado .mma-capa-txt { flex: 1; min-width: 0; }
	.mma.mma--mapa-adiado .mma-capa-txt b { font-size: 1.12rem; }
	.mma--mapa-adiado .mma-capa-txt span { margin: .1rem 0 0; font-size: .84rem; }
	.mma--mapa-adiado .mma-estado { position: relative; top: auto; left: auto; display: block; width: fit-content; margin: .7rem auto 0; transform: none; }
	.mma-chamada { margin-top: 1.5rem; }
}
@container mma (max-width: 600px) {
	.mma-busca { border-radius: 22px; }
	.mma-campo-busca { flex-basis: 100%; }
	.mma .mma-busca .mma-btn { flex: 1; }
	.mma .mma-sugestoes { left: -.4rem; right: -.4rem; }
	.mma .mma-filtros-abrir {
		display: inline-flex; align-items: center; gap: .45rem; height: 40px; margin: 0; padding: 0 1rem;
		border: 1px solid var(--mma-borda); border-radius: 999px; background: var(--mma-papel); box-shadow: none;
		font: 600 .9rem "Archivo", system-ui, sans-serif; text-transform: none; letter-spacing: 0; color: var(--mma-cacau);
	}
	.mma-filtros-corpo { display: none; margin-top: .75rem; }
	.mma-filtros[data-aberto="1"] .mma-filtros-corpo { display: grid; grid-template-columns: 1fr 1fr; }
	.mma .mma-f { max-width: none; }
	.mma .mma-f-nome, .mma .mma-f.mma-f-venda { grid-column: span 2; }
	.mma .mma-f.mma-f-venda { justify-self: start; }
	.mma .mma-limpar { grid-column: span 2; justify-self: start; margin-top: 0; }
	.mma-card-corpo { padding-left: 0; }
	.mma-av { width: 40px; height: 44px; font-size: .86rem; }
	.mma-chamada { flex-direction: column; align-items: stretch; padding: 1.3rem 1.25rem; }
	.mma-chamada::after { width: 100%; opacity: .6; }
	.mma-grade { grid-template-columns: 1fr; }
	.mma .mma-c-2 { grid-column: auto; }
	.mma .mma-btn-grande { flex: 1; }
	.mma-pino-mapa { height: 300px; }
	.mma--mapa-adiado .mma-capa { flex-wrap: wrap; }
	.mma--mapa-adiado .mma-capa-arte { width: 60px; }
	.mma.mma--mapa-adiado .mma-abrir-mapa { width: 100%; }
	.mma-etapa-rot { display: none; }
	.mma .mma-etapas li.atual .mma-etapa-rot { display: block; }
	.mma .mma-etapas li { flex: 0 0 auto; }
	.mma .mma-etapas li.atual { flex: 1 1 auto; }
	.mma-rodape .mma-enviar { flex: 1; }
	.mma-rodape .mma-form-msg { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
	.mma *, .mma *::before, .mma *::after { transition: none !important; animation: none !important; }
}
