/* ==========================================================================
   MR Blocos — aparência dos blocos no site e na prévia do editor
   --------------------------------------------------------------------------
   Só tokens do design system (tokens/tokens.css): nenhuma cor ou fonte nova.
   Hovers lentos (600–1000 ms) e entrada pelo data-reveal do tema.

   Ordem: base · ficha · texto · frase · imagem · galeria · vídeo ·
   carrossel · par · maquete (palco e lado) · peças · editor · celular.
   ========================================================================== */

.bloco { --largura: 1200px; width: min(var(--largura), 100%); margin: 0 auto 112px; color: var(--color-plum); font-family: var(--font-body); }
.bloco:last-child { margin-bottom: 0; }
.bloco em { font-style: italic; }
.bloco__titulo { margin: 0 0 32px; font: 600 clamp(30px, 3vw, 40px)/1.08 var(--font-display); letter-spacing: -.02em; }
.legenda { margin-top: 12px; font-size: 13px; color: var(--color-mauve); }
.icone { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.estrela-svg { width: 18px; height: 18px; flex: none; }

/* ---------- ficha ---------- */
.ficha { --largura: 960px; }
.ficha__lista { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 48px; margin: 0; padding: 40px 0 0; border-top: 1px solid var(--color-line); }
.ficha__item { margin: 0; }
.ficha__item--resultado, .ficha__item--creditos { grid-column: 1 / -1; }
.ficha dt { margin-bottom: 10px; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--color-mauve); }
.ficha dd { margin: 0; font-size: 17px; line-height: 1.7; }
.ficha dd p + p { margin-top: 12px; }
.ficha__entregas { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ficha__entregas li { position: relative; padding-left: 18px; }
.ficha__entregas li::before { content: ''; position: absolute; left: 2px; top: .7em; width: 6px; height: 6px; border-radius: 50%; background: var(--color-rose); }
.ficha__nota { margin-top: 10px !important; font-size: 13px; color: var(--color-mauve); }
.ficha__item--creditos dd { font-size: 14px; color: var(--color-mauve); }

/* ---------- texto ---------- */
.texto { --largura: 720px; }
.texto__titulo { margin: 0 0 20px; font: 600 clamp(30px, 3vw, 40px)/1.1 var(--font-display); letter-spacing: -.02em; }
.texto__corpo p { margin: 0; font-size: 17px; line-height: 1.75; }
.texto__corpo p + p { margin-top: 16px; }
.texto--destaque .texto__corpo p { font: 500 clamp(24px, 2.4vw, 30px)/1.35 var(--font-display); }

/* ---------- frase ---------- */
.frase {
  --largura: 960px; position: relative; margin-inline: auto; padding: clamp(40px, 6vw, 88px) clamp(28px, 6vw, 80px);
  border-radius: 24px; background: var(--fundo); color: var(--texto); box-shadow: var(--shadow-soft);
  transition: transform 1000ms var(--motion-ease), box-shadow 1000ms var(--motion-ease);
}
.frase:hover { transform: translateY(-6px) rotate(-.4deg); box-shadow: var(--shadow-lifted); }
.frase__texto { margin: 0; font: italic 500 clamp(30px, 4vw, 56px)/1.1 var(--font-display); letter-spacing: -.02em; text-wrap: balance; }
.frase__aspas { display: block; height: .5em; margin-bottom: .1em; font: 600 2em/1 var(--font-display); font-style: normal; color: var(--apoio); }
.frase__legenda { margin-top: 28px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--apoio); }
.frase__estrela { position: absolute; right: 32px; bottom: 32px; color: var(--apoio); transition: rotate 1200ms var(--motion-ease); }
.frase:hover .frase__estrela { rotate: 180deg; }

/* ---------- imagem e galeria ---------- */
.imagem { --largura: 960px; }
.imagem--larga { --largura: 1200px; }
.imagem__img { display: block; width: 100%; height: auto; border-radius: 16px; }
.galeria__grade { display: grid; grid-template-columns: repeat(var(--colunas, 3), minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.galeria__item { display: block; width: 100%; padding: 0; border: 0; border-radius: 12px; overflow: hidden; background: var(--color-cream); cursor: zoom-in; }
.galeria__img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform 1000ms var(--motion-ease), filter 1000ms var(--motion-ease); }
.galeria__item:hover .galeria__img { transform: scale(1.04); }
.lightbox { max-width: min(92vw, 1100px); max-height: 92vh; padding: 0; border: 0; border-radius: 16px; background: transparent; overflow: visible; }
.lightbox::backdrop { background: rgba(43, 32, 41, .85); }
.lightbox img { display: block; max-width: 100%; max-height: 88vh; border-radius: 12px; }
.lightbox__fechar { position: absolute; top: -52px; right: 0; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--color-cream); color: var(--color-plum); cursor: pointer; }

/* ---------- vídeo ---------- */
.video { --largura: 960px; }
.video__caixa { position: relative; width: min(100%, calc(80vh * 16 / 9)); margin-inline: auto; overflow: hidden; border-radius: 16px; background: var(--color-ink); }
.video__caixa video, .video__caixa iframe, .video__fachada img { display: block; width: 100%; height: 100%; object-fit: contain; border: 0; }
.video__fachada { position: absolute; inset: 0; padding: 0; border: 0; background: none; cursor: pointer; }
.video__fachada img { object-fit: cover; transition: transform 1000ms var(--motion-ease), filter 1000ms var(--motion-ease); }
.video__fachada:hover img { transform: scale(1.03); filter: brightness(.85); }
.video__play {
  position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: 76px; height: 76px; margin: -38px 0 0 -38px;
  border-radius: 50%; background: var(--color-cream); color: var(--color-plum); box-shadow: var(--shadow-lifted);
  transition: transform 800ms var(--motion-ease);
}
.video__play .icone { width: 28px; height: 28px; fill: currentColor; margin-left: 4px; }
.video__fachada:hover .video__play { transform: scale(1.08); }

/* ---------- carrossel ---------- */
.carrossel__janela { overflow: hidden; border-radius: 20px; }
.carrossel__trilho { display: flex; transition: transform 1000ms var(--motion-ease); }
.carrossel__slide { flex: 0 0 100%; min-width: 0; }
.carrossel__slide > .bloco { margin-bottom: 0; }
.carrossel__controles { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 28px; }
.carrossel__seta {
  display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid var(--color-plum); border-radius: 50%;
  background: transparent; color: var(--color-plum); cursor: pointer;
  transition: background-color 600ms var(--motion-ease), color 600ms var(--motion-ease), transform 600ms var(--motion-ease);
}
.carrossel__seta:hover { background: var(--color-plum); color: var(--color-paper); transform: translateY(-2px); }
.carrossel__seta:disabled { opacity: .35; cursor: default; transform: none; background: transparent; color: var(--color-plum); }
.carrossel__contador { min-width: 64px; text-align: center; font-size: 14px; color: var(--color-mauve); font-variant-numeric: tabular-nums; }

/* ---------- par ---------- */
.par { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.par--esquerda { grid-template-columns: 3fr 2fr; }
.par--direita { grid-template-columns: 2fr 3fr; }
.par__lado { min-width: 0; }
.par__lado > .bloco { margin-bottom: 0; }

/* ---------- maquete: palco e texto ao lado ---------- */
.maquete { margin-block: 0 112px; margin-inline: auto; }
.maquete__palco {
  position: relative; display: grid; place-items: center; padding: clamp(40px, 6vw, 88px) clamp(20px, 4vw, 64px);
  border-radius: 28px; background: var(--fundo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M32 0H0v32' fill='none' stroke='%23795B76' stroke-opacity='.13'/%3E%3C/svg%3E");
  overflow: hidden;
}
.maquete--com-lado { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.maquete--lado-esquerda .maquete__lado { order: -1; }
.maquete--lado-esquerda { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.maquete__titulo { margin: 0 0 20px; font: 600 clamp(28px, 2.8vw, 38px)/1.1 var(--font-display); letter-spacing: -.02em; }
.maquete__lado p { margin: 0; font-size: 17px; line-height: 1.75; }
.maquete__lado p + p { margin-top: 14px; }
.maquete__vazio { display: grid; place-items: center; min-height: 160px; padding: 24px; color: var(--color-mauve); font-size: 13px; text-align: center; }

/* A peça: o "aparelho" ou janela. Hover levanta e inclina de leve, devagar. */
.peca {
  position: relative; width: min(380px, 100%); overflow: hidden; border-radius: 20px;
  background: var(--color-paper); color: var(--color-plum); font-family: var(--font-body);
  box-shadow: 0 40px 80px -36px rgba(62, 18, 55, .45), 0 2px 6px rgba(62, 18, 55, .08);
  transition: transform 1000ms var(--motion-ease), box-shadow 1000ms var(--motion-ease);
}
.maquete:hover .peca { transform: translateY(-8px) rotate(-1deg); box-shadow: 0 60px 100px -40px rgba(62, 18, 55, .5), 0 2px 6px rgba(62, 18, 55, .08); }
.peca img { display: block; width: 100%; height: auto; }

.perfil { display: flex; align-items: center; gap: 10px; min-width: 0; }
.perfil__foto { flex: none; width: 34px; height: 34px; border-radius: 50%; object-fit: cover; }
.perfil__foto--vazia { display: grid; place-items: center; background: var(--color-plum); color: var(--color-cream); font: 600 15px/1 var(--font-display); text-transform: lowercase; }
.perfil__nomes { display: grid; line-height: 1.25; min-width: 0; }
.perfil__nomes strong { font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.perfil__nomes small { font-size: 12px; color: var(--color-mauve); }

/* Instagram */
.insta__topo { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; }
.insta__mais { color: var(--color-mauve); letter-spacing: 2px; }
.insta__midia { position: relative; overflow: hidden; background: var(--color-rose); }
.insta__trilho { display: flex; height: 100%; transition: transform 900ms var(--motion-ease); }
.insta__slide { flex: 0 0 100%; height: 100%; }
.insta__slide img { width: 100%; height: 100%; object-fit: cover; }
.insta__midia[data-insta-carrossel] { cursor: pointer; }
.insta__pontos { display: flex; justify-content: center; gap: 4px; padding-top: 10px; }
.insta__pontos i { width: 6px; height: 6px; border-radius: 50%; background: var(--color-line); transition: background-color 600ms var(--motion-ease), transform 600ms var(--motion-ease); }
.insta__pontos i.is-ativo { background: var(--color-plum); transform: scale(1.2); }
.insta__acoes { display: flex; align-items: center; gap: 14px; padding: 12px 16px 6px; }
.insta__acoes > span { margin-left: auto; display: inline-flex; }
.insta__curtidas { margin: 0; padding: 0 16px; font-size: 13px; font-weight: 600; }
.insta__legenda { margin: 4px 0 0; padding: 0 16px 18px; font-size: 14px; line-height: 1.5; }

/* Celular (story, chat, banner de app) */
.celular { width: min(300px, 100%); padding: 10px; border-radius: 40px; background: var(--color-ink); }
.celular__tela { position: relative; overflow: hidden; aspect-ratio: 9 / 19; border-radius: 30px; background: var(--color-cream); }
.story__midia { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.story__barra { position: absolute; left: 12px; right: 12px; top: 12px; display: flex; gap: 4px; }
.story__barra i { flex: 1; height: 3px; border-radius: 2px; background: rgba(252, 249, 245, .5); }
.story__barra i:first-child { background: var(--color-paper); }
.story__perfil { position: absolute; left: 12px; top: 26px; color: var(--color-paper); }
.story__perfil .perfil__nomes strong { color: var(--color-paper); text-shadow: 0 1px 4px rgba(0, 0, 0, .35); }

/* E-mail */
.email { padding: 24px; }
.email__caixa { display: flex; justify-content: space-between; font-size: 13px; color: var(--color-mauve); }
.email__de { font-weight: 600; color: var(--color-plum); }
.email__assunto { margin: 12px 0 0; font: 600 24px/1.15 var(--font-display); letter-spacing: -.015em; }
.email__pre { margin: 6px 0 0; font-size: 14px; color: var(--color-mauve); }
.email__corpo { margin-top: 20px; padding-top: 20px; border-top: 1px solid rgba(180, 162, 172, .5); font-size: 15px; line-height: 1.6; }
.email__corpo p { margin: 0 0 12px; }
.email__imagem { margin-bottom: 16px; border-radius: 10px; }
.email__botao { display: inline-block; margin-top: 8px; padding: 12px 20px; border-radius: 999px; background: var(--color-plum); color: var(--color-paper); font-size: 14px; font-weight: 600; }

/* Navegador */
.navegador { width: min(640px, 100%); border-radius: 14px; }
.navegador__barra { display: flex; align-items: center; gap: 14px; padding: 12px 16px; background: var(--color-cream); border-bottom: 1px solid rgba(180, 162, 172, .5); }
.navegador__pontos { display: flex; gap: 6px; }
.navegador__pontos i { width: 10px; height: 10px; border-radius: 50%; background: var(--color-rose); }
.navegador__pontos i:nth-child(2) { background: var(--color-line); }
.navegador__pontos i:nth-child(3) { background: var(--color-mauve); }
.navegador__endereco { display: inline-flex; align-items: center; gap: 6px; flex: 1; min-width: 0; padding: 6px 12px; border-radius: 999px; background: var(--color-paper); font-size: 12px; color: var(--color-mauve); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.navegador__endereco .icone { width: 14px; height: 14px; }
/* Captura comprida: a janela mostra o topo e, com o mouse em cima, rola até o fim devagar. */
.navegador__tela { display: block; height: 400px; overflow: hidden; }
.navegador__captura { width: 100%; transition: transform 6s cubic-bezier(.45, 0, .55, 1); }
.maquete:hover .navegador__captura { transform: translateY(calc(-100% + 400px)); }

/* Chat */
.chat .celular__tela { background: var(--color-cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M32 0H0v32' fill='none' stroke='%23795B76' stroke-opacity='.13'/%3E%3C/svg%3E"); }
.chat__topo { padding: 40px 14px 12px; background: var(--color-plum); color: var(--color-cream); }
.chat__topo .perfil__nomes strong { color: var(--color-cream); }
.chat__topo .perfil__nomes small { color: var(--color-rose); }
.chat__topo .perfil__foto--vazia { background: var(--color-cream); color: var(--color-plum); }
.chat__conversa { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 16px 12px; }
.chat__balao { max-width: 84%; margin: 0; padding: 9px 12px 6px; border-radius: 14px 14px 14px 4px; background: var(--color-white); box-shadow: var(--shadow-soft); font-size: 14px; line-height: 1.45; }
.chat__balao small { display: flex; align-items: center; justify-content: flex-end; gap: 3px; margin-top: 3px; font-size: 10px; color: var(--color-mauve); }
.chat__balao small .icone { width: 13px; height: 13px; }
.chat__balao--resposta { align-self: flex-end; border-radius: 14px 14px 4px 14px; background: var(--color-rose); }
.chat--sms .chat__balao { border-radius: 18px; }
.chat--sms .chat__balao--resposta { background: var(--color-plum); color: var(--color-paper); }
.chat--sms .chat__balao--resposta small { color: var(--color-rose); }

/* Roteiro */
.roteiro { width: min(560px, 100%); padding: 20px 16px; }
.roteiro table { width: 100%; border-collapse: collapse; }
.roteiro th { padding: 0 8px 10px; text-align: left; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--color-mauve); }
.roteiro td { padding: 14px 8px; border-top: 1px solid rgba(180, 162, 172, .5); vertical-align: top; font-size: 14px; line-height: 1.45; }
.roteiro td:first-child { font-weight: 600; color: var(--color-mauve); font-variant-numeric: tabular-nums; white-space: nowrap; }
.roteiro td:last-child { font: italic 500 18px/1.25 var(--font-display); }
.roteiro tbody tr { transition: background-color 600ms var(--motion-ease); }
.roteiro tbody tr:hover { background: var(--color-cream); }

/* Revisão */
.revisao-peca { width: min(560px, 100%); padding-bottom: 24px; background: var(--color-white); }
.revisao-peca__barra { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; border-bottom: 1px solid rgba(180, 162, 172, .45); }
.revisao-peca__pontos { display: flex; gap: 6px; }
.revisao-peca__pontos i { width: 10px; height: 10px; border-radius: 50%; background: var(--color-rose); }
.revisao-peca__etapas { position: relative; display: inline-flex; padding: 3px; border-radius: 999px; background: var(--color-cream); }
.revisao-peca__etapas button {
  position: relative; z-index: 1; flex: 1 1 0; min-width: 80px; min-height: 36px; padding: 0 12px; border: 0; border-radius: 999px;
  background: transparent; color: var(--color-plum); font: 600 13px var(--font-body); cursor: pointer; transition: color 600ms var(--motion-ease);
}
.revisao-peca__etapas button[aria-pressed="true"] { color: var(--color-paper); }
.revisao-peca__etapas button:not([aria-pressed="true"]):hover { font-style: italic; }
.revisao-peca__indicador { position: absolute; top: 3px; bottom: 3px; left: 3px; width: calc((100% - 6px) / 3); border-radius: 999px; background: var(--color-plum); transition: transform 600ms var(--motion-ease); }
[data-etapa="1"] .revisao-peca__indicador { transform: translateX(100%); }
[data-etapa="2"] .revisao-peca__indicador { transform: translateX(200%); }
.revisao-peca__frase { margin: 0; padding: 28px 28px 0; font: 500 clamp(22px, 2.2vw, 28px)/1.32 var(--font-display); }
.revisao-peca__frase del, .revisao-peca__frase ins { text-decoration: none; color: inherit; }
.revisao-peca__frase ins { display: none; font-style: italic; background: linear-gradient(var(--color-rose), var(--color-rose)) 0 88% / 100% .36em no-repeat; }
[data-etapa="1"] .revisao-peca__frase del { color: var(--color-mauve); background: linear-gradient(var(--color-mauve), var(--color-mauve)) 0 58% / 100% 2px no-repeat; }
[data-etapa="1"] .revisao-peca__frase ins, [data-etapa="2"] .revisao-peca__frase ins { display: inline; }
[data-etapa="2"] .revisao-peca__frase del { display: none; }
[data-etapa="2"] .revisao-peca__frase ins { background: none; font-style: normal; }

/* Tradução */
.traducao { --largura: 1040px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: stretch; }
.traducao__lado {
  padding: 36px 32px; border-radius: 20px; background: var(--color-paper); box-shadow: var(--shadow-soft);
  transition: transform 900ms var(--motion-ease), box-shadow 900ms var(--motion-ease);
}
.traducao__lado:hover { transform: translateY(-4px); box-shadow: var(--shadow-lifted); }
.traducao__lado--destino { background: var(--color-plum); color: var(--color-cream); }
.traducao__rotulo { display: block; margin-bottom: 16px; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--color-mauve); }
.traducao__lado--destino .traducao__rotulo { color: var(--color-rose); }
.traducao__lado p { margin: 0; font: 500 22px/1.4 var(--font-display); }
.traducao__lado p + p { margin-top: 12px; }
.traducao__seta { align-self: center; font: 500 32px/1 var(--font-display); color: var(--color-mauve); transition: rotate 1000ms var(--motion-ease); }
.traducao:hover .traducao__seta { rotate: 180deg; }

/* Livro */
.livro--capa { width: min(320px, 100%); aspect-ratio: 3 / 4; border-radius: 4px 14px 14px 4px; box-shadow: inset 6px 0 0 rgba(43, 32, 41, .2), 0 40px 80px -36px rgba(62, 18, 55, .45); }
.livro__capa { width: 100%; height: 100%; object-fit: cover; }
.livro--aberto { display: grid; grid-template-columns: 1fr 1fr; width: min(640px, 100%); aspect-ratio: 3 / 2; border-radius: 6px; background: var(--color-white); }
.livro__pagina { position: relative; display: grid; align-content: center; gap: 12px; padding: clamp(20px, 3vw, 36px); }
.livro__pagina--esquerda { place-items: center; background: var(--color-rose); box-shadow: inset -18px 0 24px -20px rgba(43, 32, 41, .35); }
.livro__pagina--direita { box-shadow: inset 18px 0 24px -20px rgba(43, 32, 41, .25); }
.livro__ilustracao { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.livro__estrela { width: 48px; height: 48px; color: var(--color-plum); }
.livro__titulo { margin: 0; font: 600 22px/1.15 var(--font-display); }
.livro__pagina p { margin: 0; font: 500 15px/1.6 var(--font-display); }

/* LinkedIn */
.linkedin { width: min(460px, 100%); padding-bottom: 6px; }
.linkedin__topo { padding: 14px 16px 10px; }
.linkedin__texto { position: relative; padding: 0 16px; font-size: 14px; line-height: 1.55; }
.linkedin__texto p { margin: 0 0 8px; }
.linkedin__texto.is-curto { max-height: calc(1.55em * 3); overflow: hidden; }
.linkedin__mais { position: absolute; right: 16px; bottom: 0; padding: 0 0 0 24px; border: 0; background: linear-gradient(90deg, transparent, var(--color-paper) 24px); color: var(--color-mauve); font: 600 14px var(--font-body); cursor: pointer; }
.linkedin__imagem { margin-top: 8px; }
.linkedin__reacoes { margin: 10px 16px 0; font-size: 12px; color: var(--color-mauve); }
.linkedin__acoes, .tweet__acoes { display: flex; justify-content: space-around; padding: 10px 8px; margin-top: 8px; border-top: 1px solid rgba(180, 162, 172, .4); color: var(--color-mauve); }

/* X */
.tweet { width: min(460px, 100%); padding: 16px 16px 4px; }
.tweet__texto { margin: 12px 0 0; font-size: 16px; line-height: 1.45; }
.tweet__imagem { margin-top: 12px; border-radius: 14px; }
.tweet__data { margin: 12px 0 0; font-size: 13px; color: var(--color-mauve); }
.tweet__acoes { margin-inline: -16px; }

/* Banner */
.banner--site { width: min(640px, 100%); border-radius: 14px; }
.banner__pagina { display: grid; gap: 12px; padding: 16px; }
.banner__imagem { border-radius: 10px; }
.banner__linha { height: 10px; border-radius: 6px; background: var(--color-cream); }
.banner__linha--curta { width: 60%; }
.banner__app-topo { padding: 40px 16px 12px; font-size: 15px; }
.banner__app-corpo { display: grid; gap: 10px; padding: 0 12px; }
.banner__app-corpo .banner__imagem { border-radius: 14px; box-shadow: var(--shadow-soft); }
.banner__cartao { height: 72px; border-radius: 14px; background: var(--color-paper); }

/* ---------- editor ---------- */
.bloco-aviso, .bloco-home {
  display: grid; gap: 6px; padding: 28px 24px; border: 1.5px dashed var(--color-line); border-radius: 16px;
  background: var(--color-paper); color: var(--color-plum); font-family: var(--font-body); font-size: 14px;
}
.bloco-home__rotulo { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--color-mauve); }
.bloco-home strong { font: 600 26px/1.15 var(--font-display); }
.mr-editor-rotulo { margin: 0 0 8px; font: 600 12px var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--color-mauve); }
.mr-editor-carrossel__blocos { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(320px, 1fr); gap: 16px; overflow-x: auto; }
.mr-editor-slide { padding: 12px; border: 1px dashed var(--color-line); border-radius: 12px; }
.mr-editor-par__blocos { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: center; }

/* ---------- celular ---------- */
@media (max-width: 860px) {
  .bloco { margin-bottom: 80px; }
  .maquete--com-lado, .maquete--lado-esquerda { grid-template-columns: 1fr; }
  .maquete--lado-esquerda .maquete__lado { order: 0; }
  .par, .par--esquerda, .par--direita { grid-template-columns: 1fr; }
  .ficha__lista { grid-template-columns: 1fr; gap: 28px; }
  .traducao { grid-template-columns: 1fr; }
  .traducao__seta { justify-self: center; rotate: 90deg; }
  .galeria__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .navegador__tela { height: 300px; }
  .maquete:hover .navegador__captura { transform: translateY(calc(-100% + 300px)); }
}
@media (prefers-reduced-motion: reduce) {
  .bloco *, .bloco { transition: none !important; animation: none !important; }
  .maquete:hover .navegador__captura { transform: none; }
}
