# Sistema de design inspirado no Airbnb > Category: E-commerce e varejo > Marketplace de viagens. Acento coral quente, orientado para fotografia, interface com cantos arredondados. ## 1. Tema visual e atmosfera O design do Airbnb em 2026 parece uma revista de viagens que por acaso também é um aplicativo — telas de branco imaculado dão lugar a fotografias em sangria total, e a própria interface desaparece para que os anúncios possam respirar. O característico coral-rosa Rausch (`#ff385c`) é usado com parcimônia, mas de forma inconfundível: CTA de pesquisa, indicador de aba ativa, botão de ação principal, o preço ou o coração de lista de desejos ocasional. Todo o resto é uma escala de cinza disciplinada, com `#222222` carregando quase cada linha de texto. O que torna o sistema inconfundivelmente Airbnb é a *fé* que ele deposita no conteúdo. As fotos das propriedades são exibidas em escala heroica, 4:3 com tratamento de borda a borda com raio. A troca de categoria acontece por meio de um seletor de três abas (Casas / Experiências / Serviços) que usa ícones ilustrados renderizados em 3D (uma casa com telhado inclinado, um balão de ar quente, uma campainha de serviço) — físicos, táteis, quase como brinquedos — combinados com etiquetas nítidas de `Airbnb Cereal VF`. É o raro produto de consumo onde renders 3D e interface puramente tipográfica coexistem sem tensão. A superfície mais nova é a linha de produtos de **Experiências** — o mesmo chrome, mas maior densidade de cartões, mais fotografia e um painel de reserva com centralização e preço fixo na coluna direita. As páginas de detalhes de anúncios (tanto quartos quanto experiências) seguem um modelo rígido: grade de imagem hero em sangria total → cartão de reserva arredondado sobreposto (fixo ao rolar) → comodidades → avaliações (os prêmios Guest Favorite usam um grande `4,81` centralizado com um medalhão de coroa de louros) → mapa → perfil do anfitrião → divulgações. O ritmo é consistente, seja reservando um quarto ou um passeio de iate. **Características principais:** - Coral-rosa Rausch (`#ff385c`) como cor de marca de acento único, usada apenas para CTAs principais e o botão de pesquisa - Fotografia em sangria total em 4:3 / 16:9 com suave arredondamento de cantos (14–20px) como vocabulário visual principal - Ícones de categoria renderizados em 3D combinados com abas tipográficas — o único lugar onde o sistema permite ilustração - Botões de ícone circulares `50%` (seta voltar, compartilhar, favorito, setas de carrossel) espalhados por toda a interface - `Airbnb Cereal VF` carrega cada etiqueta, desde notas legais de 8px até títulos de seção de 28px — um sistema de família única - Codificação de cor por nível de produto: Airbnb Plus (magenta `#92174d`), Airbnb Luxe (roxo profundo `#460479`), Airbnb (coral Rausch) - Medalhão de prêmio Guest Favorite — número de avaliação gigante centralizado entre duas coroas de louros, um dos momentos mais reconhecíveis do sistema - Painel de reserva fixo com uma pilha preço → datas → hóspedes, ancorado na coluna direita no desktop, transformando-se em uma barra de «Reservar» ancorada na parte inferior no mobile - Navegação mobile fixada na parte inferior (Explorar / Listas de desejos / Entrar) com um toque Rausch no estado ativo ## 2. Paleta de cores e papéis ### Principal - **Rausch** (`#ff385c`): O coral-rosa característico da marca. Variável CSS `--palette-bg-primary-core`. Usado para: botão principal «Reservar», botão de envio de pesquisa, sublinhado de aba ativa, preenchimento do coração de lista de desejos, ênfase de preço. A cor de maior visibilidade em cada página. ### Secundárias e de destaque - **Deep Rausch** (`#e00b41`): Uma variante mais saturada. Variável CSS `--palette-bg-tertiary-core`. Usado para estados de botão pressionado/ativo e pontos terminais de gradiente. - **Plus Magenta** (`#92174d`): Variável CSS `--palette-bg-primary-plus`. A cor de marca para o nível de produto Airbnb Plus — uma oferta de anúncios curados de alto padrão. - **Luxe Purple** (`#460479`): Variável CSS `--palette-bg-primary-luxe`. A cor de marca para o nível de produto Airbnb Luxe — aluguéis de villas e propriedades de luxo. - **Info Blue** (`#428bff`): Variável CSS `--palette-text-legal`. Usado para links legais/informativos (termos, privacidade, divulgações) — a única cor de link não monocromática no sistema. ### Superfície e fundo - **Canvas White** (`#ffffff`): O fundo de página padrão. Cada cartão, cada container, cada página de detalhe começa aqui. - **Soft Cloud** (`#f7f7f7`): Tinte de subsuperfície sutil usado em fundos de rodapé, wrappers de visualização de mapa e seções de «todo o resto» que desejam recuar do branco principal. - **Hairline Gray** (`#dddddd`): Cor de borda 1px onipresente — separa cartões, linhas de comodidades, painéis de avaliações, colunas de rodapé. O cavalo de batalha do sistema de layout. ### Neutros e texto - **Ink Black** (`#222222`): Variável CSS `--palette-text-primary`. O quase-preto do sistema. Cada título, cada parágrafo de corpo, cada etiqueta de navegação, cada preço. Usado em ~90% de todo o texto em uma página. - **Charcoal** (`#3f3f3f`): Variável CSS `--palette-text-focused`. Usado no texto de entrada no estado focused e no texto de ênfase secundária. - **Ash Gray** (`#6a6a6a`): Variável CSS `--palette-bg-tertiary-hover`. Etiquetas secundárias, texto de estilo de subtítulo «Aluguel de chalés» sob nomes de cidades, links de rodapé silenciados. - **Mute Gray** (`#929292`): Variável CSS `--palette-text-link-disabled`. Botões desativados e metadados de baixa prioridade. - **Stone Gray** (`#c1c1c1`): Divisores terciários, traços de ícones, avatares de espaço reservado. ### Semânticos e de destaque - **Error Red** (`#c13515`): Variável CSS `--palette-text-primary-error`. Erros de validação de formulários, avisos de ação destrutiva. - **Deep Error** (`#b32505`): Variável CSS `--palette-text-secondary-error-hover`. Variantes pressionadas/ativas de estados de erro. - **Translucent Black** (`rgba(0, 0, 0, 0.24)`): Variável CSS `--palette-text-material-disabled`. Etiquetas de estilo material desativadas. ### Sistema de gradientes O gradiente de marca do Airbnb aparece com parcimônia, normalmente apenas no logotipo e no momento de marca do botão de pesquisa: ``` linear-gradient(90deg, #ff385c 0%, #e00b41 50%, #92174d 100%) ``` Essa varredura coral → magenta é o «momento de marca» — nunca usado como superfície completa, apenas como preenchimento de pílula estreita ou tratamento de logo. ## 3. Regras tipográficas ### Família tipográfica - **Airbnb Cereal VF** (principal e única): O sans-serif de peso variável proprietário que carrega todo o sistema. Fontes de fallback (em ordem): `Circular, -apple-system, system-ui, Roboto, Helvetica Neue, sans-serif`. Pesos observados nos tokens extraídos: 500, 600, 700. Sem 400-regular — o peso de «corpo» do sistema é 500, o que dá a cada bloco de texto uma densidade ligeiramente maior que se lê como confiante e deliberada. Funcionalidades OpenType: `salt` (alternativas estilísticas) é usado nas etiquetas compactas de 11px e 14px 600 — provavelmente para formatação mais compacta de numerais e caracteres especiais. Não foram observadas funcionalidades de ligaduras ou numerais fracionários. ### Hierarquia | Papel | Tamanho | Peso | Altura de linha | Espaçamento de letras | Notas | |-------|---------|------|-----------------|----------------------|-------| | Título de seção | 28px / 1,75rem | 700 | 1,43 | 0 | «Inspiração para futuras viagens» — títulos em nível de página | | Título de subseção | 22px / 1,38rem | 500 | 1,18 | -0,44px | «O que este lugar oferece», «Conheça os anfitriões» — divisores de conteúdo | | Título de cartão | 21px / 1,31rem | 700 | 1,43 | 0 | Títulos de painel de avaliações, títulos principais de cartão | | Título de anúncio | 20px / 1,25rem | 600 | 1,20 | -0,18px | «Passeio de iate em grupo pequeno, vinho e frutas ilimitados» — manchetes de anúncios em páginas de detalhes | | Subtítulo em negrito | 16px / 1,00rem | 600 | 1,25 | 0 | Nome do anfitrião, nome da cidade | | Corpo médio | 16px / 1,00rem | 500 | 1,25 | 0 | Texto de corpo principal em páginas de detalhes | | Botão grande | 16px / 1,00rem | 500 | 1,25 | 0 | «Reservar», «Torne-se um anfitrião» | | Botão padrão | 14px / 0,88rem | 500 | 1,29 | 0 | Etiquetas de botão padrão | | Link | 14px / 0,88rem | 500 | 1,43 | 0 | Links de navegação, links de rodapé | | Legenda média | 14px / 0,88rem | 500 | 1,29 | 0 | Metadados, linhas de subtítulo («Aluguel de chalés», «Aluguel de villas») | | Legenda em negrito | 14px / 0,88rem | 600 | 1,43 | 0 | Funcionalidade `salt` habilitada — estatísticas numéricas, ênfase em texto pequeno | | Legenda pequena | 13px / 0,81rem | 400 | 1,23 | 0 | Datas de avaliações, micro-metadados | | Micro padrão | 12px / 0,75rem | 400 | 1,33 | 0 | Isenções de responsabilidade no rodapé, micro-texto legal | | Micro em negrito | 12px / 0,75rem | 700 | 1,33 | 0 | Etiquetas de pílula «NOVO» | | Badge em maiúsculas | 11px / 0,69rem | 600 | 1,18 | 0 | Funcionalidade `salt` — badges compactos de categoria/status | | Sobrescrito | 8px / 0,50rem | 700 | 1,25 | 0,32px | Maiúsculas — notas de rodapé de preço, caudas decimais | ### Princípios - **Uma família, muitos pesos.** Airbnb Cereal VF lida com tudo, do texto legal de 8px aos títulos de página de 28px — a identidade visual vem da própria família, não da mistura de tipografias. - **500 é o novo 400.** O peso «regular» do sistema é 500, dando a cada parágrafo uma textura ligeiramente mais confiante do que o padrão da web. - **Tracking negativo apenas para tipos de display.** Títulos de 20px e acima comprimem o tracking em -0,18 a -0,44px para um aspecto cinzelado; tamanhos de corpo permanecem com tracking 0 para legibilidade. - **Alturas de linha ajustadas para manchetes, generosas para corpo.** O tipo de display roda a 1,18–1,25 (ajustado); corpo e legendas se abrem para 1,43 para conforto de leitura longa. - **Sem maiúsculas exceto a 8px.** A única transformação em maiúsculas no sistema é o sobrescrito de 8px — em qualquer outro lugar, a capitalização de sentença com sutis mudanças de peso faz o trabalho. ### Nota sobre substitutos de fontes Airbnb Cereal VF é proprietária. O substituto open source mais próximo é **Circular Std** (ainda comercial) ou **Inter** (gratuito, Google Fonts) com espaçamento de letras reduzido em -0,01em nos tamanhos de display. Para fidelidade estrita de marca, a cadeia de fallback documentada (`Circular, -apple-system, system-ui`) renderiza aceitavelmente no macOS/iOS onde `system-ui` se resolve para San Francisco, que tem proporções semelhantes. ## 4. Estilização de componentes ### Botões **CTA principal** («Reservar», «Pesquisar», «Adicionar datas») - Fundo: Rausch `#ff385c` - Texto: Canvas White `#ffffff`, Airbnb Cereal 500, 16px - Preenchimento: ~14px vertical, 24px horizontal - Raio: 8px (retangular) ou 50% (variante de ícone circular) - Borda: nenhuma - Ativo/pressionado: `transform: scale(0.92)` mais um anel de foco de 2px `#222222` em `0 0 0 2px` **Botão secundário** («Torne-se um anfitrião», ações terciárias delineadas) - Fundo: `#ffffff` - Texto: Ink Black `#222222`, Airbnb Cereal 500, 14–16px - Preenchimento: 10px 16px - Raio: 20px (pílula) ou 8px (retangular) - Borda: 1px solid Hairline Gray `#dddddd` **Botão circular apenas com ícone** (seta voltar, compartilhar, favorito, controles de carrossel) - Fundo: `#f2f2f2` (ligeiramente fora do branco) ou branco com borda preta translúcida de 1px - Ícone: traço de contorno `#222222`, 16–20px - Tamanho: diâmetro 32–44px - Raio: 50% - Ativo/pressionado: `transform: scale(0.92)`; anel branco sutil de 4px `0 0 0 4px rgb(255,255,255)` para separar de fundos fotográficos coloridos **Botão desativado** - Fundo: `#f2f2f2` - Texto: Stone Gray `#c1c1c1` - Opacidade: 0,5 **Botão de aba em pílula** (seletor de categoria «Casas / Experiências / Serviços») - Fundo: transparente - Texto: Ink Black `#222222`, Airbnb Cereal 500, 16px - Preenchimento: 8px 14px - Estado ativo: sublinhado Ink Black de 2px abaixo da etiqueta - Combinado com um ícone ilustrado renderizado em 3D de 36–48px acima da etiqueta ### Cartões e containers **Cartão de anúncio** (grade da página inicial, resultados de pesquisa) - Fundo: `#ffffff` - Raio: 14px na imagem, o texto fica diretamente abaixo em fundo transparente - Imagem: proporção 4:3, em sangria total, arredondada com o mesmo raio de 14px - Preenchimento: nenhum no container externo; 12px de espaçamento entre a imagem e as linhas de metadados - Sombra: nenhuma — a separação vem do espaço em branco e do raio intrínseco da fotografia - Padrão de metadados: cidade/região na linha 1 (16px 600), distância/duração na linha 2 (14px 500 Ash Gray), intervalo de datas na linha 3, linha de preço com «por noite» na parte inferior **Painel de reserva da página de detalhes** (coluna direita fixa em páginas de quarto/experiência) - Fundo: `#ffffff` - Raio: 14–20px - Borda: 1px solid Hairline Gray `#dddddd` - Sombra: `rgba(0, 0, 0, 0.02) 0 0 0 1px, rgba(0, 0, 0, 0.04) 0 2px 6px 0, rgba(0, 0, 0, 0.1) 0 4px 8px 0` — uma elevação sutil de três camadas empilhadas - Preenchimento: 24px - Largura: ~370px, ancorado 120–140px abaixo do topo da viewport - Conteúdo: título do preço → seletor de datas → dropdown de hóspedes → CTA principal → nota de rodapé «Você não será cobrado ainda» **Cartão de grade de comodidades** (em páginas de detalhes de anúncios) - Fundo: `#ffffff` - Borda: 1px solid Hairline Gray `#dddddd` no nível da linha (não por item) - Preenchimento: 16px vertical por linha de comodidade - Padrão ícone + etiqueta: ícone de contorno 24px à esquerda, etiqueta 16px 500 à direita **Cartão de avaliação** (avaliação individual em páginas de detalhes) - Fundo: `#ffffff`, sem borda - Preenchimento: 0 (depende dos espaços da grade) - Conteúdo: avatar circular 40px + nome 16px 600 + data 14px 400 Ash Gray em uma linha, depois parágrafo de corpo 14px 500 abaixo ### Entradas e formulários **Barra de pesquisa** (página inicial principal) - Fundo: `#ffffff` - Borda: 1px solid Hairline Gray `#dddddd` envolvendo os três segmentos (Onde / Quando / Quem) - Raio: 32px (pílula completa) - Sombra: `rgba(0, 0, 0, 0.04) 0 2px 6px 0` — sensação de flutuação sutil - Estrutura: três segmentos divididos por finos divisores verticais, cada segmento tem uma etiqueta 12px 500 acima de um espaço reservado 14px 500 - Envio: botão de ícone circular Rausch na borda direita, diâmetro 48px **Entrada de texto** (formulários genéricos) - Fundo: `#ffffff` - Borda: 1px solid Hairline Gray `#dddddd` - Raio: 8px - Preenchimento: 14px 16px - Foco: a borda muda para Ink Black, adiciona anel externo preto `0 0 0 2px` - Erro: a borda muda para `#c13515` (Error Red), o texto de ajuda usa a mesma cor **Seletor de datas** - Grade de calendário: layout de 7 colunas, células de dias circulares `50%` com 40–44px de largura - Intervalo selecionado: fundo Ink Black `#222222` com numerais brancos - Âncoras de início/fim: círculos preenchidos maiores; datas intermediárias usam o tinte Soft Cloud `#f7f7f7` ### Navegação **Navegação superior (Desktop)** - Altura: ~80px - Fundo: `#ffffff` - Esquerda: logotipo do Airbnb em Rausch (102×32px) - Centro: seletor de categoria de três abas (Casas / Experiências / Serviços) com ícones 3D de 36–48px empilhados acima de etiquetas 16px 500; a aba ativa tem sublinhado Ink Black de 2px - Direita: link de texto «Torne-se um anfitrião», depois globo circular 32px (idioma), depois menu hamburger de avatar 36px - Border-bottom: 1px solid Hairline Gray `#dddddd` **Navegação superior (Mobile)** - Pílula de pesquisa em linha única ocupa toda a largura: espaço reservado «Comece sua pesquisa» com um pequeno ícone de lupa - Abaixo: o seletor de categoria de três abas persiste (Casas / Experiências / Serviços) — os ícones ilustrados encolhem para ~28px - Barra de abas fixada na parte inferior: Explorar (estado ativo Rausch) / Listas de desejos / Entrar — ícones 24px acima de etiquetas 12px **Navegação secundária da página de detalhes de anúncio** - Rolagem horizontal fixa de links de âncora (Fotos · Comodidades · Avaliações · Localização · Anfitrião) aparece ao rolar além da imagem hero - Altura: 56px - Border-bottom: 1px solid Hairline Gray ### Tratamento de imagens - **Proporções principais**: 4:3 para grades de anúncios da página inicial, 16:9 para fotografia hero de experiências, 1:1 para avatares - **Raio**: 14px em imagens de grade de anúncios, 20px em molduras de fotos hero de páginas de detalhes, `50%` em avatares - **Grade de imagens em páginas de detalhes**: grade de cinco fotos com uma imagem grande à esquerda (50% de largura) e quatro fotos menores em uma grade 2×2 à direita, todas compartilhando o container arredondado externo de 20px - **Carregamento lazy**: uso intensivo de `loading="lazy"` com prévias de espaço reservado borradas - **Carrossel**: botões de seta circulares de 32px sobrepostos à imagem, centralizados verticalmente; indicadores de pontos ficam a 12px acima da borda inferior ### Componentes assinatura **Medalhão de prêmio Guest Favorite** (destacado em páginas de detalhes de anúncios com alta avaliação) - Número de avaliação centralizado renderizado a 44–56px 700 - Duas ilustrações SVG de coroa de louros desenhadas à mão flanqueando esquerda e direita a ~48px de altura - Abaixo: etiqueta «Guest Favorite» a 12px 700 em maiúsculas com tracking de `0,32px`, e uma sub-etiqueta curta a 14px 500 Ash Gray - Bloco de largura total, sem borda de container — fica diretamente sobre o canvas branco **Seletor de categoria de três abas** (aparece no topo de cada superfície de navegação) - Três abas: Casas / Experiências / Serviços - Cada aba: ícone ilustrado renderizado em 3D (~48px de altura) acima de uma etiqueta 16px 500 - Experiências e Serviços atualmente carregam uma pequena pílula azul marinho «NOVO» (texto branco 12px 700 sobre fundo azul escuro) flutuando no canto superior direito do ícone - Aba ativa: sublinhado Ink Black de 2px abaixo da etiqueta **Grade de cidades de inspiração** (página inicial «Inspiração para futuras viagens») - Grade de 6 colunas de links de destino no desktop, 2 colunas no mobile - Cada célula: nome de cidade 16px 600 na linha 1, subtítulo de tipo de aluguel 14px 500 Ash Gray na linha 2 («Aluguel de chalés», «Aluguel de villas») - Sem imagens — grade somente de texto - Tabulada acima por categoria (Popular / Artes e cultura / Praia / Montanhas / Ao ar livre / Atividades / Dicas de viagem e inspiração / Apartamentos amigáveis ao Airbnb) — a aba ativa tem sublinhado de 2px e mudança de peso **Cartão fixo de reserva** (páginas de detalhes de anúncios) - Permanece fixo a 120px abaixo do topo da viewport no desktop conforme o usuário rola além do hero - Colapsa para uma barra de largura total na parte inferior no mobile com uma etiqueta «A partir de R$ X / noite» e uma pílula Rausch «Reservar» - Sempre exibe: título do preço → exibição de datas → seletor de hóspedes → CTA Rausch → isenção «Você não será cobrado ainda» **Cartão de anfitrião de experiência** (páginas de detalhes de experiências) - Container arredondado de largura total com uma fotografia de capa 3:2 no topo - Avatar do anfitrião (circular, 56px) sobrepondo a borda inferior da capa em 50% - Abaixo da sobreposição: nome do anfitrião a 16px 700, tempo de anfitrionagem a 14px 500 Ash Gray, pequeno botão de pílula Rausch «Enviar mensagem ao anfitrião» - Usado como transição entre avaliações e o bloco de comodidades/localização **Faixa «Coisas importantes»** (páginas de detalhes de anúncios) - Grade de 3 colunas de blocos de regras/políticas (Regras da casa, Segurança e propriedade, Política de cancelamento) - Cada coluna: ícone no topo, título 16px 600, corpo 14px 500 Ash Gray, link «Mostrar mais» sublinhado em Ink Black - Separador: bordas superior e inferior Hairline Gray 1px na faixa inteira ## 5. Princípios de layout ### Sistema de espaçamento - **Unidade base**: 8px - **Escala extraída**: 2, 3, 4, 5,5, 6, 8, 10, 11, 12, 15, 16, 18,5, 22, 24, 32px — finamente granulada com alguns valores fora da grade usados para alinhamento de ícones perfeito ao pixel - **Preenchimento de seção**: ~48–64px em cima/baixo no desktop, 24–32px no mobile - **Preenchimento interno do cartão**: 24px em painéis de reserva e cartões grandes, 16px em linhas de comodidades, 12px em metadados de cartão de anúncio - **Calha entre cartões de anúncio**: 24px desktop, 16px mobile - **Entre linhas de texto empilhadas**: 4–8px (muito ajustado — reforça a sensação de «informação densa» dos anúncios de viagem) ### Grade e container - **Largura máxima do conteúdo**: 1760–1920px em ultra-wide (o Airbnb deixa a grade respirar mais do que a maioria dos sites); 1280px na maioria das páginas de detalhes - **Grade de anúncios da página inicial**: 6 colunas em ≥1760px, 5 em ≥1440px, 4 em ≥1128px, 3 em ≥800px, 2 em ≥550px, 1 abaixo - **Página de detalhes**: 2 colunas assimétricas — conteúdo principal ~58%, painel de reserva fixo ~36% à direita, ~6% de calha - **Rodapé**: 3 colunas Suporte / Hospedagem / Airbnb ### Filosofia do espaço em branco O Airbnb é densamente informativo, mas nunca sufocante. O espaço em branco é usado para *agrupar* — os cartões de anúncio têm 24px de calha para que cada fotografia seja lida como um objeto distinto, mas os metadados abaixo de cada cartão usam espaços de 4–8px para que o preço/cidade/data se sinta como uma unidade. O painel de reserva da página de detalhes tem 24px de preenchimento interno, mas as linhas dentro (seletor de datas, seletor de hóspedes, CTA) são empilhadas a 12px — o limite entre o cartão e a página faz mais trabalho de separação do que o conteúdo dentro. ### Escala de raio de borda | Raio | Uso | |------|-----| | 4px | Etiquetas de âncora em linha, chips de tags | | 8px | Botões de texto, dropdowns, botões utilitários pequenos | | 14px | Fotografia de cartões de anúncio, containers de conteúdo genérico, badges | | 20px | Botões arredondados principais (forma de pílula), imagens grandes, painel de reserva | | 32px | Pílula da barra de pesquisa, containers extra grandes | | 50% | Todos os botões de ícone circulares, todos os avatares, corações de lista de desejos — a geometria redonda assinatura do sistema | ## 6. Profundidade e elevação | Nível | Tratamento | Uso | |-------|------------|-----| | 0 | Sem sombra | Cartões de anúncio, conteúdo de corpo, seções somente de texto | | 1 | `rgba(0, 0, 0, 0.08) 0 4px 12px` | Botões de ícone ativos/pressionados (ex.: voltar, compartilhar, favorito) — elevação sutil para indicar interação | | 2 | `rgba(0, 0, 0, 0.02) 0 0 0 1px, rgba(0, 0, 0, 0.04) 0 2px 6px 0, rgba(0, 0, 0, 0.1) 0 4px 8px 0` | Cartão fixo do painel de reserva, modais, menus dropdown — a elevação de três camadas assinatura do sistema | | Anel de foco | `0 0 0 2px #222222` | Botões no estado ativo, entrada de pesquisa com foco | | Anel separador branco | `rgb(255, 255, 255) 0 0 0 4px` | Botões circulares sobrepostos em fotografias — um anel branco de 4px separa claramente o botão de fundos de imagem coloridos | Filosofia de sombras: o Airbnb usa **sombras em camadas empilhadas** em vez de uma única sombra projetada. A sombra de três camadas do painel de reserva se lê como uma única elevação coesa, mas na verdade são três sombras separadas com diferentes valores de opacidade/desfoque — criando um anti-serrilhamento sutil no perímetro da sombra que parece premium sem ser pesado. ### Profundidade decorativa - **Fotografia como profundidade**: o sistema depende fortemente de fotografia em sangria total para criar profundidade visual; sombras e gradientes são usados com moderação para que as fotografias façam o trabalho pesado - **Medalhão de coroa de louros**: o prêmio Guest Favorite usa duas ilustrações SVG de louros que dão ao número de avaliação de outra forma plano uma presença cerimonial, como um troféu - **Ícones de categoria renderizados em 3D**: os ícones Casas/Experiências/Serviços têm sua própria iluminação interna suave e sutis sombras projetadas assadas na arte — o único lugar onde a marca permite ilustração «dimensional» ## 7. O que fazer e o que não fazer ### Fazer - Reservar Rausch `#ff385c` para ações principais e o indicador de aba ativa — nunca diluí-lo com usos decorativos. - Deixar a fotografia respirar — recortes 4:3 com cantos arredondados 14–20px, sem texto sobreposto, sem véus de gradiente. - Usar Ink Black `#222222` para cada camada de texto abaixo de Rausch — este é o quase-preto do sistema, nunca o verdadeiro `#000000`. - Combinar os ícones ilustrados 3D do seletor de categoria de três abas com tipografia plana — não misturar estilos de ilustração dentro de uma única superfície. - Empilhar três sombras de baixa opacidade (~2%, 4%, 10%) para criar a elevação assinatura do painel de reserva. - Usar bordas Hairline Gray `#dddddd` de 1px para cada divisor cartão a cartão e linha a linha. - Tratar o painel de reserva como fixo no desktop, colapsando para uma barra de reserva ancorada na parte inferior no mobile. - Usar espaçamento de 4–8px dentro de grupos de metadados e 24px entre cartões — a densidade de informação é intencional. ### Não fazer - Não introduzir cores de destaque secundárias fora da paleta de níveis de produto Rausch / Plus Magenta / Luxe Purple. - Não colocar texto dentro das fotografias — as legendas sempre ficam abaixo da imagem, nunca sobrepostas. - Não usar etiquetas em maiúsculas exceto o único papel de sobrescrito de 8px. - Não arredondar botões de ícone para nada além de 50% — o circular é a geometria assinatura do sistema. - Não adicionar sombras projetadas aos cartões de anúncio — eles ficam sobre canvas branco sem elevação. - Não usar fundos de gradiente — o único gradiente no sistema é uma varredura estreita Rausch → magenta no logotipo. - Não usar o peso tipográfico 400-regular — o peso de corpo do Airbnb Cereal é 500. - Não substituir Airbnb Cereal VF por uma tipografia de display diferente — o sistema é intencionalmente de família única. ## 8. Comportamento responsivo ### Breakpoints O Airbnb declara ~60 breakpoints (artefato de design de sua biblioteca de componentes), mas as mudanças de layout significativas ocorrem em um conjunto muito menor: | Nome | Largura | Mudanças principais | |------|---------|---------------------| | Ultra-wide | ≥1760px | Grade de anúncios de 6 colunas, largura máxima de conteúdo 1760–1920px | | Desktop XL | 1440–1759px | Grade de 5 colunas, nav completa visível, painel de reserva fixo na coluna direita | | Desktop | 1128–1439px | Grade de 4 colunas, painel de reserva fixo persiste | | Laptop | 1024–1127px | Grade de 3–4 colunas, nav de categoria permanece horizontal | | Tablet | 800–1023px | Grade de 3 colunas, a pesquisa global pode colapsar para uma pílula de linha única | | Tablet pequeno | 550–799px | Grade de 2 colunas, o painel de reserva cai para bloco em linha de largura total | | Mobile | 375–549px | Layout empilhado de 1 coluna, aparece a barra de abas fixada na parte inferior (Explorar / Listas de desejos / Entrar) | | Mobile pequeno | <375px | O preenchimento de borda se ajusta para 16px; os ícones do seletor de categoria encolhem para ~28px | ### Alvos de toque Todos os elementos interativos atendem ou excedem 44×44px. A família de botões de ícone circulares é especificamente dimensionada de 32–44px com 8–12px de preenchimento de área de toque estendido. O botão principal Rausch «Reservar» tem ~48px de altura. A área de toque do seletor de categoria de três abas é o retângulo completo de etiqueta-mais-ícone (tipicamente ~64×80px por aba). ### Estratégia de colapso - **Nav**: A nav superior mantém o logotipo do Airbnb + seletor de três abas no tablet e acima; no mobile o seletor desliza logo abaixo da pílula de pesquisa, e os controles de globo/avatar se movem para uma barra de abas ancorada na parte inferior. - **Barra de pesquisa**: Pílula de três segmentos (Onde / Quando / Quem) com um botão de envio circular Rausch no desktop; colapsa para uma pílula de linha única «Comece sua pesquisa» no mobile, cujo toque abre uma folha de pesquisa em tela cheia. - **Painel de reserva**: Coluna direita fixa em ≥1128px; em linha dentro da coluna de conteúdo principal entre 800–1127px; pílula «Reservar» fixada na parte inferior em <800px. - **Grade de anúncios**: Reformata 6 → 5 → 4 → 3 → 2 → 1 colunas através dos breakpoints. - **Grade de imagens da página de detalhes**: Layout de cinco imagens (1 grande + 4 pequenas) no desktop; torna-se um carrossel em sangria total deslizável no mobile com indicadores de pontos de página. - **Rodapé**: O layout de 3 colunas colapsa para coluna única empilhada em <800px. ### Comportamento de imagens - `loading="lazy"` universal, com prévias de espaço reservado borradas com parâmetro `im_w=` de URL servidas primeiro - Imagens responsivas usam a CDN `muscache.com` do Airbnb com o parâmetro de consulta `im_w` para entrega baseada em largura (`im_w=240`, `im_w=720`, `im_w=1200`, `im_w=2400`) - Sem recortes de direção de arte — a mesma imagem é escalada para cima/baixo pelos breakpoints - Carrosséis ajustam automaticamente a altura da foto para manter uma proporção 4:3 consistente independentemente do aspecto da fonte ## 9. Guia de prompts para agentes ### Referência rápida de cores - CTA principal: «Rausch (#ff385c)» - Fundo de página: «Canvas White (#ffffff)» - Subsuperfície: «Soft Cloud (#f7f7f7)» - Texto de título / corpo: «Ink Black (#222222)» - Texto secundário: «Ash Gray (#6a6a6a)» - Borda / divisor: «Hairline Gray (#dddddd)» - Erro: «Error Red (#c13515)» - Link informativo: «Info Blue (#428bff)» - Destaque de nível Luxe: «Luxe Purple (#460479)» - Destaque de nível Plus: «Plus Magenta (#92174d)» ### Exemplos de prompts de componentes - «Crie um botão principal Reservar: fundo Rausch (#ff385c), etiqueta branca Airbnb Cereal 500 a 16px, preenchimento 14px × 24px, raio de borda 8px, sem sombra. Em ativo/pressionado adicione `transform: scale(0.92)` com um anel de foco Ink Black de 2px (`0 0 0 2px #222222`).» - «Construa um cartão de anúncio com uma fotografia 4:3 em sangria total com raio de borda 14px, sem sombra de container; abaixo da imagem empilhe três linhas de texto com espaços de 4px: nome de cidade a 16px 600 Ink Black, tipo de aluguel a 14px 500 Ash Gray (#6a6a6a), e faixa de preço a 16px 500 Ink Black com um sufixo `por noite` de 14px.» - «Projete um painel de reserva fixo: fundo branco, raio de borda 14px, borda Hairline Gray (#dddddd) de 1px, sombra de elevação de 3 camadas (`rgba(0,0,0,0.02) 0 0 0 1px, rgba(0,0,0,0.04) 0 2px 6px 0, rgba(0,0,0,0.1) 0 4px 8px 0`), preenchimento 24px, largura 370px, ancorado a 120px abaixo do topo da viewport no desktop. Conteúdo: título do preço, seletor de datas, dropdown de hóspedes, CTA principal Rausch e uma isenção Ash Gray de 12px `Você não será cobrado ainda`.» - «Crie um seletor de categoria de três abas: três abas de igual largura com etiquetas Casas, Experiências, Serviços; cada aba tem um ícone ilustrado renderizado em 3D (~48px de altura) (casa, balão, campainha) acima de uma etiqueta 16px 500 Ink Black; a aba ativa recebe sublinhado Ink Black de 2px; adicione uma pequena pílula 12px 700 branca `NOVO` sobre fundo azul marinho escuro no canto superior direito dos ícones de Experiências e Serviços.» - «Renderize o medalhão de prêmio Guest Favorite: um número de avaliação centralizado a 52px 700 Ink Black, flanqueado à esquerda e à direita por coroas de louros SVG desenhadas à mão a ~48px de altura; abaixo, uma etiqueta de 12px 700 em maiúsculas `GUEST FAVORITE` com tracking de 0,32px; sub-etiqueta a 14px 500 Ash Gray; bloco de largura total situado diretamente sobre o canvas branco sem borda de container.» ### Guia de iteração Ao refinar telas existentes geradas com este sistema de design: 1. Focar em UM componente por vez. 2. Referenciar nomes de cores específicos e códigos hexadecimais deste documento (ex.: «Ink Black #222222», não «cinza escuro»). 3. Usar descrições em linguagem natural junto com medidas («elevação sutil de três camadas» em vez de uma longa string de sombras). 4. Descrever o «sentimento» desejado («estilo de revista, fotografia em primeiro lugar» vs «utilidade densa»). 5. Sempre usar por padrão Airbnb Cereal VF 500 para corpo e 600–700 para ênfase — nunca 400. 6. Manter o rosa Rausch escasso — se mais de um elemento de cor Rausch aparecer por viewport, considere se um deveria ser neutralizado. ### Lacunas conhecidas - **Cartões de grade de anúncios da página inicial**: a grade principal de cartões de propriedade (a superfície visual principal do airbnb.com) não foi totalmente capturada nas capturas de tela da página inicial extraídas — o conteúdo carregou apenas parcialmente. As especificações de cartão de anúncio acima são inferidas da estrutura da grade de inspiração e das convenções mais amplas do Airbnb; confirme as proporções exatas e a hierarquia de metadados no site ao vivo antes do uso em produção. - **Ícones de categoria de Experiências**: os ícones ilustrados 3D para Casas / Experiências / Serviços são servidos como ativos raster; suas especificações exatas de arquivo fonte (SVG vs PNG, dimensões de pixels renderizados) não estão documentadas aqui. - **Tempos de animação e transição**: não capturados — escopo de extração estática. - **Modo escuro**: o Airbnb não inclui um modo escuro nativo nas superfícies de produto extraídas; este documento descreve o único tema de modo claro.