/* Tour guiado — compartilhado pela gestão e pela loja */
.tour { --tour-terra: #1C1917; --tour-ouro: #E89C10; --tour-ouro-escuro: #B45309; --tour-osso: #FAF7F2; --tour-borda: #E7E2DA; --tour-suave: #57534E; position: relative; z-index: 1000; font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.tour__sombra { position: fixed; inset: 0; pointer-events: none; z-index: 1000; }
.tour__sombra--cheia { background: rgba(28, 25, 23, .55); }
.tour__recorte { position: fixed; border-radius: 14px; box-shadow: 0 0 0 3px var(--tour-ouro), 0 0 0 9999px rgba(28, 25, 23, .55); transition: top .3s ease, left .3s ease, width .3s ease, height .3s ease; pointer-events: none; }
.tour__balao { position: fixed; z-index: 1001; background: #fff; color: var(--tour-terra); border-radius: 18px; box-shadow: 0 24px 60px -18px rgba(28, 25, 23, .55), 0 0 0 1px rgba(28, 25, 23, .06); overflow: hidden; outline: none; animation: tour-entrar .25s ease; max-height: calc(100vh - 24px); display: flex; flex-direction: column; }
.tour__balao--faixa { max-height: 58vh; }
@keyframes tour-entrar { from { opacity: 0; transform: translateY(6px); } }
.tour__topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 10px 10px 18px; background: var(--tour-terra); color: var(--tour-osso); }
.tour__rotulo { font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--tour-ouro); }
.tour__fechar { width: 32px; height: 32px; border: 0; border-radius: 8px; background: none; color: inherit; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.tour__fechar:hover { background: rgba(255, 255, 255, .1); }
.tour__corpo { padding: 16px 18px 6px; overflow-y: auto; }
.tour__titulo { margin: 0 0 6px; font-family: "Playfair Display", Georgia, serif; font-size: 1.25rem; line-height: 1.25; font-weight: 600; }
.tour__texto p { margin: 0 0 10px; font-size: .94rem; line-height: 1.55; color: #44403C; }
.tour__destaque { background: #FEF3C7; border-radius: 10px; padding: 9px 12px; color: var(--tour-terra) !important; font-weight: 500; }
.tour__itens { margin: 0 0 10px; padding-left: 20px; font-size: .9rem; line-height: 1.55; color: #44403C; }
.tour__itens li + li { margin-top: 4px; }
.tour__rodape { padding: 8px 18px 16px; display: grid; gap: 10px; border-top: 1px solid var(--tour-borda); margin-top: 6px; }
.tour__progresso { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 6px; }
.tour__pontos { display: flex; flex-wrap: wrap; gap: 5px; }
.tour__pontos button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: var(--tour-borda); cursor: pointer; transition: width .2s, background .2s; }
.tour__pontos button.feito { background: #F3C77A; }
.tour__pontos button.ativo { width: 22px; background: var(--tour-ouro); }
.tour__contagem { font-size: .8rem; color: var(--tour-suave); white-space: nowrap; }
.tour__nao-mostrar { display: flex; align-items: center; gap: 8px; font-size: .84rem; color: var(--tour-suave); cursor: pointer; }
.tour__nao-mostrar input { width: 16px; height: 16px; accent-color: var(--tour-terra); margin: 0; }
.tour__acoes { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.tour__acoes > span { display: flex; gap: 6px; }
.tour__acoes button { border-radius: 999px; font: inherit; font-weight: 600; font-size: .9rem; cursor: pointer; padding: 9px 16px; border: 1.5px solid transparent; }
.tour__pular { background: none; color: var(--tour-suave); padding-left: 0 !important; }
.tour__pular:hover { color: var(--tour-terra); text-decoration: underline; }
.tour__voltar { background: #fff; border-color: var(--tour-borda) !important; color: var(--tour-terra); }
.tour__voltar:disabled { opacity: .4; cursor: default; }
.tour__seguir { background: var(--tour-terra); color: #fff; min-width: 108px; }
.tour__seguir:hover { background: #292524; }
.tour button:focus-visible { outline: 3px solid rgba(232, 156, 16, .6); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  .tour__recorte, .tour__balao, .tour__pontos button { transition: none; animation: none; }
}
