  :root{
    color-scheme:light;
    --creme:#FCFAF8; --nude:#F5EDE9; --linha:#E9DED7; --superficie:#fff;
    --terracota:#D9704A; --tijolo:#B7322E; --vinho:#591B20;
    --texto:#591B20; --texto2:#8A6C6D; --texto3:#7A5B4F;
    /* ===== Redesenho "elegante" (feat/redesign-elegante) =====
       Tokens novos, só adicionados -- nenhum dos acima mudou de nome. --nude continua sendo o
       #F5EDE9 de sempre (usado em dezenas de lugares); o nude da marca (#D5C0BB, divisor do
       lockup/filetes) entra como --nude-marca. --texto2 passou de #A98577 (3,2:1 sobre o
       fundo) para o "muted" #8A6C6D (4,5:1 sobre branco/off-white). Sobre fundo blush ele cai
       pra ~4,1:1, então texto PEQUENO sobre blush usa --texto3 (5,3:1), não --texto2.
       Texto branco sobre terracota (#D9704A) dá só 3,3:1 e NÃO é usado: botão sólido é
       vinho/rosé/tijolo. */
    --rose:#A03F50; --nude-marca:#D5C0BB; --offwhite:#FAFAF9;
    --blush-1:#FCEEEA; --blush-2:#FBEFEC; --blush-3:#F8E3DE; --blush-4:#F3DFD9; --blush-5:#F0DAD3; --blush-6:#E7D6D0;
    --blush-heroi-a:#F8E6E1; --blush-heroi-b:#EDCBC2;
    --texto-sec:#6B2A30; --muted:#8A6C6D; --eyebrow:#8C2A2B; --sidebar-bg:#F9ECE8;
    --sombra-card:0 10px 28px rgba(160,63,80,.07);
    --pagina-bg:linear-gradient(180deg,#FCEEEA 0,#FAFAF9 600px);
    --fonte-destaque:'Cormorant Garamond','Cormorant',serif;
    --verde:#97C459; --verde-bg:#EAF3DE; --verde-tx:#27500A;
    --amarelo:#EF9F27; --amarelo-bg:#FAEEDA; --amarelo-tx:#633806;
    --vermelho:#E24B4A; --vermelho-bg:#FCEBEB; --vermelho-tx:#791F1F;
    --marfim:#F5E6DE;
  }
  *{box-sizing:border-box;}
  body{margin:0;font-family:'Montserrat',sans-serif;background:var(--creme);background-image:var(--pagina-bg);background-repeat:no-repeat;background-attachment:scroll;color:var(--texto);}
  #app{width:100%;min-height:100vh;min-height:100dvh;}
  h1,h2,h3{font-family:'Playfair Display',serif;font-weight:600;color:var(--vinho);margin:0;}
  button{font-family:'Montserrat',sans-serif;cursor:pointer;border:none;}
  /* Botões em pílula (redesenho). Primário: vinho com texto off-white e, à direita, um círculo
     de 40px (--blush-heroi-a) com seta -- desenhado por ::after, então nenhuma tela precisa
     mudar o HTML. Ao ser usado dentro de uma linha apertada (ex.: ao lado de um campo), a
     classe .btn-sem-seta tira o círculo e deixa a pílula compacta. */
  .btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;border-radius:999px;font-size:14px;font-weight:600;line-height:1.2;text-align:center;transition:filter .15s ease,transform .15s ease,border-color .15s ease,background .15s ease;}
  .btn-primary{background:var(--vinho);color:var(--offwhite);padding:7px 8px 7px 28px;}
  .btn-primary::after{content:'';flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--blush-heroi-a) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23591B20' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4'/%3E%3C/svg%3E") center/16px no-repeat;}
  .btn-primary.btn-sem-seta{padding:7px 24px;min-height:48px;}
  .btn-primary.btn-sem-seta::after{display:none;}
  .btn-primary:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px);}
  .btn-primary:focus-visible,.btn-secondary:focus-visible{outline:2px solid var(--rose);outline-offset:3px;}
  .btn-secondary{background:transparent;border:1.5px solid var(--rose);color:var(--rose);padding:7px 26px;}
  .btn-secondary:hover:not(:disabled){background:var(--blush-2);transform:translateY(-1px);}
  .btn-primary:disabled{opacity:0.4;cursor:not-allowed;}
  .btn-secondary:disabled{opacity:0.4;cursor:not-allowed;}
  /* Botão sobre fundo escuro (abertura do Mapa e faixas escuras): off-white com círculo vinho. */
  .btn-claro{background:var(--offwhite);color:var(--vinho);}
  .btn-claro::after{background-color:var(--vinho);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23FAFAF9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4'/%3E%3C/svg%3E");}
  /* Card padrão: branco, filete #F3DFD9, raio 26px, sombra suave. Card "calmo" = blush. */
  .card{background:var(--superficie);border:1px solid var(--blush-4);border-radius:26px;padding:20px 22px;box-shadow:var(--sombra-card);transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease;}
  .card-calmo{background:var(--blush-2);border-color:var(--blush-4);box-shadow:none;}
  .card-btn{cursor:pointer;}
  .card-btn:hover{border-color:var(--rose);box-shadow:0 14px 32px rgba(160,63,80,.11);transform:translateY(-1px);}
  .material-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:12px;}
  .material-card{padding:0;overflow:hidden;display:flex;flex-direction:column;}
  .material-preview{width:100%;aspect-ratio:210/297;background:var(--nude);overflow:hidden;}
  .material-preview img{width:100%;height:100%;object-fit:cover;display:block;}
  .material-card-corpo{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px;}
  .material-titulo{font-size:12px;font-weight:500;margin:0;color:var(--vinho);line-height:1.35;}
  .material-card-corpo .btn-secondary{padding:10px 12px;white-space:nowrap;}
  /* ===== Escala tipográfica do redesenho (limites do briefing; em dúvida, o menor) =====
     Título de página / saudação: 56px desktop, 44px celular (Cormorant Garamond itálico, rosé).
     Título de seção: 36/30px (Cormorant) ou 30/26px (Playfair). Título de card: 17-20px.
     Corpo 14-15px. Rótulos 10-12px. Destaque em itálico dentro de título: no máx. 1,4x. */
  .titulo-pagina{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:56px;line-height:1.05;color:var(--rose);margin:0;}
  .titulo-secao{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:36px;line-height:1.1;color:var(--rose);margin:0;}
  .titulo-secao-playfair{font-family:'Playfair Display',serif;font-weight:500;font-size:30px;line-height:1.2;color:var(--vinho);margin:0;}
  .titulo-card{font-family:'Playfair Display',serif;font-weight:500;font-size:19px;line-height:1.3;color:var(--vinho);margin:0;}
  .destaque-it{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;color:var(--rose);font-size:1.3em;line-height:1;}
  .corpo{font-size:14.5px;line-height:1.7;color:var(--texto-sec);}
  /* Eyebrow: Montserrat 10-11px, 600, maiúsculas, .22em, com filete de 22px antes. */
  .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--eyebrow);margin:0;}
  .eyebrow::before{content:'';width:22px;height:1px;background:currentColor;opacity:.7;}
  .chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:var(--blush-3);color:var(--texto-sec);font-size:12px;font-weight:500;line-height:1.3;}
  /* Seção: ~60px de respiro no desktop, ~44px no celular. */
  .secao{margin-top:60px;}
  /* Grades responsivas do site: 3-4 colunas >=1081, 2 colunas 861-1080, 1 coluna <=860. */
  .grade-jf{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));}
  .grade-jf.g4{grid-template-columns:repeat(4,minmax(0,1fr));}
  .grade-jf.g2{grid-template-columns:repeat(2,minmax(0,1fr));}
  @media (max-width:1080px){.grade-jf,.grade-jf.g4{grid-template-columns:repeat(2,minmax(0,1fr));}}
  @media (max-width:860px){.grade-jf,.grade-jf.g4,.grade-jf.g2{grid-template-columns:1fr;gap:16px;}.secao{margin-top:44px;}.titulo-pagina{font-size:44px;}.titulo-secao{font-size:30px;}.titulo-secao-playfair{font-size:26px;}}
  .opt{position:relative;display:flex;align-items:center;min-height:56px;border:1px solid var(--blush-6);border-radius:22px;padding:16px 56px 16px 20px;font-size:15px;line-height:1.5;color:var(--vinho);background:var(--superficie);margin-bottom:12px;cursor:pointer;transition:border-color .15s ease,background .15s ease;}
  .opt:hover{border-color:var(--rose);}
  .opt:focus-visible{outline:2px solid var(--rose);outline-offset:2px;}
  .opt.sel{border:1.5px solid var(--rose);background:var(--blush-2);font-weight:500;}
  .opt.sel::after{content:'';position:absolute;right:18px;top:50%;width:24px;height:24px;border-radius:50%;transform:translateY(-50%);background:var(--rose) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23FAFAF9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 6.3l2.4 2.4 4.6-5'/%3E%3C/svg%3E") center/12px no-repeat;}
  .progress-outer{height:5px;background:var(--blush-6);border-radius:3px;overflow:hidden;margin-bottom:22px;}
  .progress-inner{height:100%;background:linear-gradient(90deg,var(--terracota),var(--tijolo));transition:width .3s;}
  /* Todo item do menu (nav, perfil, sair, card do FEMME no rodapé quando aplicável) usa a
     MESMA largura de padding horizontal (11px) que o cabeçalho e os títulos de seção logo
     abaixo -- pedido de redesenho: "utilize o mesmo padding horizontal no cabeçalho,
     títulos das seções, links, card de recursos adicionais e rodapé". */
  .sidebar-nav-lista{display:flex;flex-direction:column;gap:2px;}
  /* 3 colunas fixas -- ícone / texto / contador-ou-seta -- pra todo item ler como uma
     tabela alinhada. A 3ª coluna (24px) fica reservada pelo grid mesmo quando o item não
     tem badge/seta (a maioria), então o texto de todos os itens começa e termina na mesma
     posição horizontal, com ou sem 3ª coluna preenchida. */
  .sidebar-item{
    position:relative;display:grid;grid-template-columns:24px 1fr 24px;align-items:center;column-gap:9px;
    min-height:38px;padding:5px 14px;border-radius:999px;cursor:pointer;
    font-size:13.5px;color:var(--texto3);font-weight:400;line-height:1.3;
    transition:background .15s ease,color .15s ease;
  }
  .sidebar-item:hover{background:rgba(255,255,255,.6);}
  /* Estado ativo: fundo branco, barrinha vinho na lateral esquerda via ::before -- em
     left:0 (não mais um valor negativo), então a indicação nunca sai dos limites do próprio
     item/menu. Ícone e texto em vinho. */
  .sidebar-item.active{background:var(--superficie);color:var(--vinho);font-weight:600;box-shadow:0 4px 14px rgba(160,63,80,.12);}
  .sidebar-item.active::before{content:none;}
  .sidebar-item:focus-visible{outline:2px solid var(--rose);outline-offset:-2px;}
  .sidebar-item-icone{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;justify-self:center;}
  /* Sem reticências de propósito: quebra em duas linhas se precisar em vez de cortar
     nenhum título (mesma decisão de sempre no menu, ver 15-shell-sidebar.js). Alinhado à
     esquerda dentro da própria coluna (é o padrão do bloco de texto; não precisa de
     text-align explícito). */
  .sidebar-item-label{min-width:0;}
  .sidebar-item-extra{display:flex;align-items:center;justify-content:flex-end;}
  .sidebar-item-badge{font-size:10.5px;color:var(--texto3);font-weight:500;}
  .sidebar-item.active .sidebar-item-badge{color:var(--rose);}
  .sidebar-item-seta{color:var(--texto3);}
  .sidebar-item.active .sidebar-item-seta,
  .sidebar-perfil-item:hover .sidebar-item-seta{color:var(--terracota);}
  .sidebar-secao-titulo{font-size:10.5px;font-weight:600;color:var(--eyebrow);text-transform:uppercase;letter-spacing:.22em;margin:14px 0 4px;padding:0 14px;white-space:nowrap;}
  .sidebar-secao-titulo.forte{font-weight:700;}
  .badge{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500;}

  /* ===== Casca do app (redesenho): sidebar 280px >=1081px, 244px de 861 a 1080px, some em
     <=860px (vira lockup no topo + tab bar embaixo). Conteúdo até ~1080px, centralizado. ===== */
  .jf-shell{display:flex;min-height:100vh;min-height:100dvh;}
  .jf-sidebar{width:280px;background:var(--sidebar-bg);border-right:1px solid var(--blush-4);padding:22px 16px;display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;align-self:flex-start;height:100vh;height:100dvh;overflow:hidden;}
  .jf-shell.colapsada .jf-sidebar{width:76px;padding:22px 10px;}
  .jf-content{flex:1;padding:36px 40px;min-width:0;}
  @media (max-width:1080px){
    .jf-sidebar{width:244px;padding:20px 12px;}
    .jf-content{padding:30px 28px;}
  }

  /* ===== Cabeçalho da marca + botão de recolher (item "reduzir a altura do menu" e
     "permitir recolher a barra no desktop" do pedido de redesenho) ===== */
  /* O botão de recolher fica posicionado sobre o cabeçalho (não numa linha flex ao lado da
     marca): dividir a largura entre os dois espremia o wordmark "Jornada Fértil" a ponto de
     quebrar em duas linhas. Fica em position:absolute dentro de .jf-sidebar-topo (que por
     sua vez usa o mesmo padding:11px dos demais itens), então não participa do cálculo de
     centralização do logo nem empurra ele pra esquerda -- .jf-sidebar-brand centraliza o
     logo completo (monograma + traço + wordmark + tagline, tudo como veio de logoMark()/
     taglineMarca(), sem tocar em nenhuma peça interna) dentro da largura restante via
     text-align:center puro, não flexbox dividindo espaço com o botão. */
  .jf-sidebar-topo{position:relative;margin-bottom:18px;padding:0 6px;}
  /* Logo + frase centralizados no bloco; a frase fica colada no nome (pouco espaço) e numa linha só. O botão de recolher fica
     fora do canto superior direito (acima da linha do logo), para não encostar no nome. */
  .jf-sidebar-brand{text-align:center;padding:0;}
  .jf-sidebar-brand .jf-sidebar-logo{padding:0;}
  /* Texto de apoio da sidebar (NÃO faz parte do lockup, que é idêntico em todas as telas). Só desktop: some no celular e com a barra recolhida. */
  .jf-sidebar-tagline{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:15px;line-height:1.2;color:var(--rose);margin:3px 0 0;text-align:center;white-space:nowrap;}
  @media (max-width:1080px){.jf-sidebar-tagline{font-size:13.5px;}}
  @media (max-width:860px){.jf-sidebar-tagline{display:none;}}
  .sidebar-colapsar-btn{position:absolute;top:-10px;right:-10px;flex-shrink:0;width:22px;height:22px;border-radius:50%;background:transparent;border:1px solid var(--linha);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
  .sidebar-colapsar-btn:hover{border-color:var(--terracota);}
  .sidebar-colapsar-btn:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}

  /* ===== Barra recolhida (desktop) -- só ícones, com aria-label cobrindo o nome
     acessível que o rótulo visível (agora escondido) normalmente dava. ===== */
  .jf-shell.colapsada .jf-sidebar-topo{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;}
  .jf-shell.colapsada .sidebar-colapsar-btn{position:static;}
  .jf-shell.colapsada .sidebar-item{grid-template-columns:1fr;justify-items:center;padding:9px;}
  .jf-shell.colapsada .sidebar-item-label,
  .jf-shell.colapsada .sidebar-item-extra,
  .jf-shell.colapsada .sidebar-secao-titulo,
  .jf-shell.colapsada .sidebar-linha-externa{display:none;}
  .jf-shell.colapsada .sidebar-item.active::before{left:0;}

  /* ===== "Conheça também" no rodapé do menu (js/18b-tela-recursos.js) =====
     Segunda passada de simplificação: a primeira versão (card grande do Mapa com preço e
     descrição, chamada do FEMME com parágrafo e link vermelho) ainda lia como página de
     vendas dentro do menu -- pedido explícito reduziu a área a duas linhas compactas, no
     MESMO estilo visual de .sidebar-item (ícone/texto/seta, mesma tipografia sans-serif),
     só com fundo pêssego (--marfim) no hover em vez do branco (--superficie) do resto do
     menu -- diferença sutil o bastante pra ainda ler como parte da navegação, não como
     anúncio. Sem preço, sem parágrafo explicativo, sem CTA colorido: essa informação
     pertence à página de apresentação de cada recurso (/resultado, /agendar), não ao menu.
     Mapa da Mulher some daqui completamente depois de comprado (mapaLinhaSidebar só
     renderiza com !state.mapaDesbloqueado -- vira item de navegação normal, ver navTopo
     acima); Método FEMME fica sempre visível, são produtos independentes. */
  .sidebar-linha-externa{
    display:grid;grid-template-columns:22px 1fr 14px;align-items:center;column-gap:8px;
    min-height:50px;padding:6px 14px;border-radius:22px;cursor:pointer;
    background:transparent;transition:background .15s ease;
  }
  .sidebar-linha-externa:hover{background:var(--marfim);}
  .sidebar-linha-externa:focus-visible{outline:2px solid var(--terracota);outline-offset:-2px;}
  .sidebar-linha-icone{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;justify-self:center;color:var(--texto3);}
  .sidebar-linha-titulo{font-size:13.5px;font-weight:500;color:var(--vinho);margin:0 0 2px;line-height:1.3;}
  .sidebar-linha-desc{font-size:11.5px;font-weight:400;color:var(--texto3);margin:0;line-height:1.3;}
  .sidebar-linha-seta{display:flex;align-items:center;justify-content:center;color:var(--texto3);transition:color .15s ease;}
  .sidebar-linha-externa:hover .sidebar-linha-seta{color:var(--terracota);}

  /* Área rolável entre o cabeçalho (marca) e o rodapé (perfil): se a navegação não couber
     na altura da tela, ela rola sozinha aqui dentro -- o rodapé com o perfil da paciente
     fica fixo, sempre visível, nunca escondido atrás de rolagem (pedido de redesenho).
     scrollbar-gutter:stable reserva o espaço da barra mesmo quando ela não está visível
     (evita o conteúdo "pular" de largura ao aparecer/sumir); padding-right cria uma folga
     real entre as linhas e a barra, que antes ficava colada nelas. Barra fina e discreta
     nos dois motores (Firefox via scrollbar-width/-color, Chrome/Safari via ::-webkit-*)
     -- nunca escondida por completo, só discreta. */
  .jf-sidebar-scroll{
    flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;
    scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--linha) transparent;
    padding-right:6px;
  }
  .jf-sidebar-scroll::-webkit-scrollbar{width:6px;}
  .jf-sidebar-scroll::-webkit-scrollbar-track{background:transparent;}
  .jf-sidebar-scroll::-webkit-scrollbar-thumb{background:var(--linha);border-radius:10px;}
  .jf-sidebar-scroll::-webkit-scrollbar-thumb:hover{background:var(--texto2);}
  .sidebar-grupo-alem{margin-top:auto;padding-top:14px;}

  /* Rodapé enxuto: "Preciso de ajuda" + perfil. O perfil não navega mais direto ao
     clicar -- abre um menu pequeno (Ver perfil / Sair, ver .sidebar-perfil-menu abaixo),
     pedido do redesenho ("sair dentro do menu do perfil"), que também tira uma linha
     fixa do rodapé (ajuda a lista inteira caber sem rolagem própria). */
  .jf-sidebar-footer{margin-top:14px;padding-top:10px;border-top:0.5px solid var(--linha);display:flex;flex-direction:column;gap:2px;}
  .sidebar-perfil-wrap{position:relative;}
  /* Camada invisível atrás do menu, do tamanho da tela inteira -- clicar em qualquer
     lugar fora do menu fecha ele (mesmo padrão de "clique fora fecha" do painel "Mais"
     do celular, ver .painel-mais-fundo mais abaixo). */
  .sidebar-perfil-fundo{position:fixed;inset:0;z-index:29;background:transparent;}
  .sidebar-perfil-menu{
    position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:30;
    background:var(--superficie);border:0.5px solid var(--linha);border-radius:12px;
    box-shadow:0 8px 24px rgba(89,27,32,0.14);padding:6px;display:flex;flex-direction:column;gap:2px;
  }
  .sidebar-perfil-menu-item{
    font-size:13px;color:var(--vinho);padding:10px 11px;border-radius:8px;cursor:pointer;min-height:38px;
    display:flex;align-items:center;transition:background .15s ease;
  }
  .sidebar-perfil-menu-item:hover{background:var(--nude);}
  .sidebar-perfil-menu-item:focus-visible{outline:2px solid var(--terracota);outline-offset:-2px;}
  /* A sidebar é position:sticky, o que cria um contexto de empilhamento próprio: sem um
     z-index explícito, o z-index:30 do menu fica preso dentro dela e a camada de fundo
     (.sidebar-perfil-fundo, z-index:29, fora da sidebar) cobre os itens -- o menu aparecia,
     mas o clique em "Ver perfil"/"Sair" caía na camada e só fechava o menu. 31 fica acima
     dela e abaixo dos painéis/modais (40/50/60). */
  .jf-sidebar{z-index:31;}
  /* Sidebar recolhida (72px): o menu herdava a largura do botão (47px) e ficava cortado.
     fixed escapa do overflow:hidden da sidebar e abre ao lado dela. */
  .jf-shell.colapsada .sidebar-perfil-menu{position:fixed;left:84px;right:auto;bottom:14px;width:190px;}

  /* ===== Página de recursos adicionais (js/18b-tela-recursos.js) ===== */
  .recursos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
  .recurso-card{background:var(--creme);border:0.5px solid var(--linha);border-radius:14px;padding:20px 20px 18px;box-shadow:0 2px 10px rgba(89,27,32,0.04);transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease;display:flex;flex-direction:column;}
  .recurso-card:hover{border-color:var(--terracota);box-shadow:0 8px 20px rgba(89,27,32,0.07);transform:translateY(-2px);}
  .recurso-card-topo{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
  .recurso-card-icone{width:32px;height:32px;border-radius:9px;background:var(--superficie);border:0.5px solid var(--linha);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  /* Etiqueta "Autoguiado — Mapa da Mulher" no lugar da antiga escada numerada "1 -- 2":
     rótulo do próprio card, não um passo a passo compartilhado entre os dois -- os dois
     recursos são caminhos independentes, não etapas obrigatórias em sequência. */
  .recurso-card-etiqueta{font-size:11px;font-weight:600;color:var(--texto3);margin:0;line-height:1.35;}
  .recurso-card-ideal{font-size:13.5px;color:var(--vinho);font-weight:600;line-height:1.5;margin:0 0 14px;}
  /* Preço + botão logo depois do "ideal para" -- acima da descrição longa e da lista de
     entregas, pra nunca ficar escondido abaixo da dobra num card com bastante texto. */
  .recurso-card-acao{margin-bottom:16px;padding-bottom:16px;border-bottom:0.5px solid var(--linha);}
  .recurso-card-preco{font-size:15px;font-weight:600;color:var(--vinho);margin:0 0 10px;}
  .recurso-card-preco span{font-size:12px;font-weight:400;color:var(--texto3);}
  .recurso-card-ja-tenho{font-size:11.5px;color:var(--texto3);text-align:center;margin:10px 0 0;cursor:pointer;}
  .recurso-card-ja-tenho span{color:var(--tijolo);font-weight:600;}
  .recurso-card-ja-tenho:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}
  .recurso-card-titulo{font-size:16px;line-height:1.3;margin:0 0 8px;}
  .recurso-card-desc{font-size:12.5px;color:var(--texto3);line-height:1.65;margin:0 0 14px;}
  .recurso-card-entregas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
  .recurso-card-entregas li{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--texto3);line-height:1.5;}
  .recurso-card-entregas li span:first-child{margin-top:3px;}
  .recurso-card-estado{font-size:11.5px;margin:14px 0 0;}
  .recurso-card-estado-ativo{color:var(--tijolo);font-weight:500;}
  .recurso-card-estado-concluido{color:var(--verde-tx);font-weight:500;}
  /* ===== Overlay/modal genérico (ex.: dia do calendário em js/25-ciclo-menstrual.js) =====
     Mesma fórmula do modal do painel da clínica (fecha ao clicar fora) -- css/admin.css
     não é carregado no app da paciente, por isso replicado aqui com nome próprio em vez
     de duplicar ali. Valores calibrados junto com .ciclo-* abaixo, único uso hoje. */
  .jf-overlay{position:fixed;inset:0;background:rgba(45,18,22,.42);display:flex;align-items:center;justify-content:center;padding:22px;z-index:60;backdrop-filter:blur(2px);}
  .jf-overlay-card{background:var(--ciclo-offwhite);border-radius:20px;padding:28px 28px 24px;max-width:400px;width:100%;box-shadow:0 24px 60px rgba(45,18,22,.25);}

  /* ===== Meu ciclo (js/25-ciclo-menstrual.js) =====
     Ao contrário do resto do app (tudo inline + .card/.btn-* genéricos), esta tela tem
     um sistema visual próprio -- pedido explicitamente pra reproduzir com fidelidade um
     protótipo aprovado à parte. --terracota/--tijolo/--vinho são os MESMOS valores do
     :root do app (não são cor nova); --ciclo-* abaixo são tokens extras desse protótipo,
     escopados só dentro de .ciclo-wrap pra não vazar pro resto do app nem colidir com
     --nude/--verde/--linha globais (que têm valores diferentes e outro uso). */
  .ciclo-wrap{
    --ciclo-offwhite:#FFFFFF; --ciclo-nude:#D5C0BB; --ciclo-areia:#8A6C6D; --ciclo-verde:#4E7A3A;
    --ciclo-linha:rgba(89,27,32,.09);
    max-width:860px;
  }
  .ciclo-wrap h1{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:56px;line-height:1.05;color:var(--rose);}
  .ciclo-wrap .ciclo-sub{font-size:14.5px;font-weight:400;line-height:1.7;margin-top:12px;color:var(--texto-sec);max-width:600px;}

  .ciclo-card{background:var(--ciclo-offwhite);border:1px solid var(--blush-4);border-radius:28px;padding:26px 28px;margin-top:22px;box-shadow:var(--sombra-card);}
  .ciclo-inicio{background:var(--blush-2);border:1px solid var(--blush-4);border-radius:12px 32px 32px 32px;padding:26px 28px;margin-top:22px;}
  .ciclo-rot{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--eyebrow);font-weight:600;}
  .ciclo-card h2,.ciclo-inicio h2{font-family:'Playfair Display',serif;font-weight:500;font-size:20px;line-height:1.3;margin:6px 0 0;color:var(--vinho);}
  .ciclo-card h2 em,.ciclo-inicio h2 em,.ciclo-fase-nome em{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;color:var(--rose);font-size:1.25em;line-height:1;}
  .ciclo-ajuda{font-size:13px;font-weight:400;line-height:1.6;color:var(--texto-sec);margin-top:8px;}

  .ciclo-topo-hoje{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:16px;}
  .ciclo-topo-hoje .ciclo-txt{flex:1;min-width:200px;}
  .ciclo-fase-nome{font-family:'Playfair Display',serif;font-size:20px;line-height:1.3;margin-top:2px;color:var(--vinho);}
  .ciclo-fase-desc{font-size:14px;font-weight:400;line-height:1.65;color:var(--texto-sec);margin-top:8px;}
  .ciclo-dica-fase{display:flex;align-items:flex-start;gap:12px;font-size:14px;font-weight:400;line-height:1.65;margin-top:18px;padding:16px 18px;background:var(--blush-2);border:1px solid var(--blush-4);border-radius:22px;color:var(--texto-sec);}
  .ciclo-dica-icone{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--superficie);color:var(--rose);}
  .ciclo-dica-fase b{font-weight:600;color:var(--vinho);}

  .ciclo-escala-cab{display:flex;justify-content:flex-end;gap:6px;margin-bottom:4px;}
  .ciclo-escala-cab span{width:30px;text-align:center;font-size:7.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--ciclo-areia);white-space:nowrap;}
  .ciclo-reg-lista{margin-top:6px;border-top:1px solid var(--ciclo-linha);}
  .ciclo-reg-l{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--ciclo-linha);}
  .ciclo-reg-l .ciclo-nm{font-size:13.5px;font-weight:400;color:var(--vinho);}
  .ciclo-escala{display:flex;align-items:center;gap:6px;}
  .ciclo-escala button{width:30px;height:30px;border-radius:50%;border:1px solid rgba(89,27,32,.16);background:transparent;cursor:pointer;transition:.15s;padding:0;position:relative;flex-shrink:0;}
  .ciclo-escala button i{position:absolute;inset:5px;border-radius:50%;background:var(--tijolo);opacity:0;transition:.15s;}
  .ciclo-escala button:hover{border-color:var(--terracota);}
  .ciclo-escala button.on{border-color:var(--tijolo);}
  .ciclo-escala button.on.g1 i{opacity:.3;}
  .ciclo-escala button.on.g2 i{opacity:.62;}
  .ciclo-escala button.on.g3 i{opacity:1;}
  .ciclo-escala .zero{font-size:11px;color:var(--ciclo-areia);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(89,27,32,.16);cursor:pointer;transition:.15s;flex-shrink:0;}
  .ciclo-escala .zero:hover{border-color:var(--terracota);}
  .ciclo-escala .zero.on{background:rgba(89,27,32,.06);border-color:var(--ciclo-areia);color:var(--vinho);}

  .ciclo-mes-cab{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:2px;}
  .ciclo-escala-leg{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--ciclo-areia);}
  .ciclo-escala-leg i{width:13px;height:13px;border-radius:3px;display:inline-block;background:var(--tijolo);}
  .ciclo-grade-wrap{overflow-x:auto;margin-top:16px;padding-bottom:4px;}
  table.ciclo-grade{border-collapse:separate;border-spacing:2px;min-width:600px;width:100%;}
  table.ciclo-grade th{font-size:9px;color:var(--ciclo-areia);font-weight:400;padding:0 0 5px;text-align:center;}
  table.ciclo-grade th.lbl,table.ciclo-grade td.lbl{text-align:left;width:118px;padding-right:12px;}
  table.ciclo-grade td.lbl{font-size:12px;font-weight:400;white-space:nowrap;color:var(--texto3);opacity:.9;}
  .ciclo-cel{width:100%;aspect-ratio:1;min-width:15px;border-radius:3px;border:none;background:rgba(89,27,32,.055);cursor:pointer;padding:0;transition:.12s;display:block;}
  .ciclo-cel:hover{outline:1.5px solid var(--terracota);outline-offset:-1px;}
  .ciclo-cel.g1{background:rgba(183,50,46,.3);}
  .ciclo-cel.g2{background:rgba(183,50,46,.62);}
  .ciclo-cel.g3{background:rgba(183,50,46,1);}
  .ciclo-cel.hj{outline:1.5px solid var(--vinho);outline-offset:-1px;}

  .ciclo-cal-nav{display:flex;gap:6px;}
  .ciclo-cal-nav button{width:30px;height:30px;border-radius:50%;border:1px solid rgba(89,27,32,.16);background:transparent;cursor:pointer;color:var(--vinho);font-size:15px;line-height:1;transition:.15s;}
  .ciclo-cal-nav button:hover{border-color:var(--terracota);background:rgba(217,112,74,.06);}
  .ciclo-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;}
  .ciclo-cal .ciclo-dow{text-align:center;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ciclo-areia);padding-bottom:4px;}
  .ciclo-dia{position:relative;aspect-ratio:1;border-radius:9px;display:flex;align-items:center;justify-content:center;
    font-size:13px;font-weight:400;background:rgba(89,27,32,.035);color:var(--vinho);
    border:none;font-family:'Montserrat',sans-serif;cursor:pointer;transition:.14s;padding:0;}
  .ciclo-dia:hover{outline:1.5px solid var(--terracota);outline-offset:-1px;}
  .ciclo-dia.vazio{background:transparent;cursor:default;pointer-events:none;}
  .ciclo-dia.f-menstrual{background:#C0392B;color:var(--ciclo-offwhite);font-weight:500;}
  .ciclo-dia.f-folicular{background:#A9825F;color:var(--ciclo-offwhite);}
  .ciclo-dia.f-ovulatoria{background:#6E9A56;color:var(--ciclo-offwhite);font-weight:500;}
  .ciclo-dia.f-lutea{background:#8B6E9B;color:var(--ciclo-offwhite);}
  .ciclo-dia.est{opacity:.4;}
  .ciclo-dia.est.f-menstrual{background:transparent;border:1.5px dashed #C0392B;color:#C0392B;opacity:1;}
  .ciclo-dia.est.f-ovulatoria{background:transparent;border:1.5px dashed #6E9A56;color:var(--ciclo-verde);opacity:1;}
  .ciclo-dia.hoje{box-shadow:0 0 0 2px var(--vinho);}
  .ciclo-dia .pt{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:3.5px;height:3.5px;border-radius:50%;background:currentColor;opacity:.55;}
  .ciclo-dia .rel{position:absolute;top:3px;right:4px;font-size:9px;line-height:1;color:currentColor;opacity:.9;}
  .ciclo-cal-leg{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:15px;}
  .ciclo-cal-leg div{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ciclo-areia);}
  .ciclo-cal-leg i{width:13px;height:13px;border-radius:4px;display:inline-block;}

  .ciclo-modal .ciclo-m-dia{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ciclo-areia);font-weight:600;}
  .ciclo-modal h3{font-family:'Playfair Display',serif;font-weight:600;font-size:22px;line-height:1.18;margin:6px 0 3px;color:var(--vinho);}
  .ciclo-modal h3 em{font-style:italic;color:var(--tijolo);}
  .ciclo-modal .ciclo-m-fase{font-size:12px;font-weight:400;color:var(--texto3);opacity:.75;margin-bottom:18px;}
  .ciclo-opc{display:flex;flex-direction:column;gap:10px;}
  .ciclo-opc button{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:transparent;
    border:1px solid rgba(89,27,32,.16);border-radius:13px;padding:14px 16px;cursor:pointer;
    font-family:'Montserrat',sans-serif;font-size:13.5px;font-weight:400;color:var(--vinho);transition:.15s;}
  .ciclo-opc button:hover{border-color:var(--terracota);background:rgba(217,112,74,.05);}
  .ciclo-opc button.marcado{border-color:var(--tijolo);background:rgba(183,50,46,.06);}
  .ciclo-opc .ic{width:26px;height:26px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--ciclo-offwhite);background:var(--tijolo);}
  .ciclo-opc .sub{display:block;font-size:11px;color:var(--texto2);font-weight:400;margin-top:2px;}
  .ciclo-m-pe{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--ciclo-linha);}
  .ciclo-m-pe .ciclo-fechar{background:none;border:none;font-family:'Montserrat',sans-serif;font-size:13px;color:var(--ciclo-areia);cursor:pointer;padding:6px 0;}
  .ciclo-m-pe .ciclo-fechar:hover{color:var(--vinho);}
  .ciclo-m-pe .ciclo-limpar{background:none;border:none;font-family:'Montserrat',sans-serif;font-size:12.5px;color:var(--tijolo);cursor:pointer;padding:6px 0;}

  .ciclo-pd{padding:13px 0;border-bottom:1px solid var(--ciclo-linha);font-size:13.5px;font-weight:400;line-height:1.62;color:var(--texto3);}
  .ciclo-pd:last-child{border-bottom:none;}
  .ciclo-pd b{font-weight:600;color:var(--tijolo);}
  .ciclo-pd-vazio{font-size:14px;font-weight:400;line-height:1.65;margin-top:10px;color:var(--texto-sec);}

  .ciclo-datas{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:16px;}
  .ciclo-campo{display:flex;flex-direction:column;gap:6px;}
  .ciclo-campo label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ciclo-areia);}
  .ciclo-btn{border:none;cursor:pointer;font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;background:var(--vinho);color:var(--offwhite);min-height:48px;padding:0 26px;border-radius:999px;transition:.16s;}
  .ciclo-btn:hover{filter:brightness(1.12);}
  .ciclo-btn:focus-visible{outline:2px solid var(--rose);outline-offset:3px;}
  .ciclo-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
  .ciclo-chip{font-size:12px;font-weight:400;background:rgba(213,192,187,.3);border-radius:20px;padding:7px 13px;display:flex;align-items:center;gap:8px;color:var(--vinho);}
  .ciclo-chip span{cursor:pointer;opacity:.5;font-size:15px;line-height:1;}
  .ciclo-chip span:hover{opacity:1;color:var(--tijolo);}
  .ciclo-media{font-family:'Playfair Display',serif;font-style:italic;font-size:15px;color:var(--tijolo);margin-top:16px;}

  .ciclo-faixa{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
    background:var(--blush-2);border:1px solid var(--blush-4);border-radius:12px 30px 30px 30px;padding:20px 24px;margin-top:22px;}
  .ciclo-faixa .ciclo-t{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:22px;line-height:1.25;flex:1;min-width:240px;color:var(--rose);}
  .ciclo-pe{font-size:12px;font-weight:400;line-height:1.6;margin-top:18px;color:var(--texto3);}
  @media(max-width:860px){.ciclo-wrap h1{font-size:44px;}}
  @media(max-width:600px){
    .ciclo-card,.ciclo-inicio{padding:22px 18px;}
  }

  /* ===== FAQ da tentante (js/26b-tela-faq.js) =====
     <details>/<summary> nativo pro accordion -- só troca o marcador padrão do navegador
     por um "+"/"–" no mesmo tom do resto do app, sem lib nem estado extra. */
  .faq-item summary{cursor:pointer;list-style:none;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:"+";position:absolute;right:2px;top:13px;font-family:'Montserrat',sans-serif;font-size:18px;font-weight:300;color:var(--texto2);}
  .faq-item[open] summary::after{content:"–";color:var(--terracota);}
  ::placeholder{color:var(--texto2);}
  input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=tel],textarea{width:100%;border:0.5px solid var(--linha);border-radius:8px;padding:10px 12px;font-size:16px;font-family:'Montserrat',sans-serif;color:var(--vinho);background:var(--superficie);transition:border-color .15s ease;}
  input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=date]:focus,input[type=number]:focus,input[type=tel]:focus,textarea:focus{outline:none;border-color:var(--terracota);}
  input:disabled{background:var(--nude);color:var(--texto2);cursor:not-allowed;}

  a{color:var(--tijolo);}
  @keyframes fadeIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}
  .tela-fade{animation:fadeIn .28s ease;}

  /* ===== Método FEMME (js/26-tela-perfil-agendar.js) ===== */
  .femme-eyebrow{font-size:11px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--tijolo);margin:0 0 14px;}
  .femme-section{margin:0 0 64px;}
  .femme-section:last-child{margin-bottom:0;}
  .femme-hero h2{font-size:clamp(26px,3.4vw,38px);line-height:1.18;margin:0 0 18px;}
  .femme-titulo-secao{font-size:clamp(21px,2.4vw,27px);line-height:1.25;margin:0 0 14px;}
  .femme-lead{font-size:15px;color:var(--vinho);line-height:1.8;max-width:660px;margin:0 0 20px;}
  .femme-assinatura{font-family:'Cormorant',serif;font-style:italic;font-size:14px;color:var(--texto3);margin:0 0 26px;}
  .femme-micro{font-size:11px;color:var(--texto2);margin:10px 0 0;}
  .femme-card{background:var(--superficie);border:0.5px solid var(--linha);border-radius:16px;padding:26px 24px;box-shadow:0 2px 10px rgba(89,27,32,0.04);transition:box-shadow .2s ease,transform .2s ease;}
  .femme-card:hover{box-shadow:0 10px 26px rgba(89,27,32,0.08);transform:translateY(-2px);}
  .femme-h3{font-family:'Playfair Display',serif;font-size:19px;color:var(--vinho);margin:0 0 12px;line-height:1.3;}
  .femme-h4{font-family:'Playfair Display',serif;font-size:15px;color:var(--vinho);margin:0 0 7px;line-height:1.35;}
  .femme-texto{font-size:13.5px;color:var(--texto3);line-height:1.7;margin:0 0 10px;}
  .femme-texto-menor{font-size:12.5px;color:var(--texto2);line-height:1.65;margin:0;}
  .femme-nota{font-size:12px;color:var(--texto2);line-height:1.65;margin:16px 0 0;max-width:620px;}
  /* Benefícios do hero: sem card e sem borda de propósito -- são três frases de
     apoio ao título, não três produtos. Card aqui competiria com o CTA. */
  .femme-beneficios{list-style:none;margin:24px 0 26px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:760px;}
  .femme-beneficios li{display:flex;flex-direction:column;gap:5px;padding-left:14px;border-left:2px solid var(--marfim);}
  .femme-beneficios strong{font-size:13px;font-weight:600;color:var(--vinho);line-height:1.35;}
  .femme-beneficios span{font-size:12px;color:var(--texto2);line-height:1.6;}
  .femme-lista-check{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;max-width:640px;}
  .femme-lista-check li{display:flex;align-items:flex-start;gap:11px;font-size:13.5px;color:var(--texto3);line-height:1.6;}
  .femme-lista-check li > span:first-child{margin-top:4px;flex-shrink:0;}
  .femme-incluso-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .femme-incluso-lista .femme-card{padding:20px 20px;}
  .femme-etapas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .femme-etapas .femme-card{padding:20px 20px;}
  .femme-etapa-num{font-family:'Playfair Display',serif;font-size:22px;color:var(--terracota);margin:0 0 8px;}
  /* Suplementação: fundo neutro e sem hover, pra ficar visivelmente abaixo das
     consultas e do acompanhamento na hierarquia (ela é parte da estratégia,
     não o centro do serviço). */
  .femme-suplemento-nota{margin-top:14px;background:var(--creme);box-shadow:none;}
  .femme-suplemento-nota:hover{transform:none;box-shadow:none;border-color:var(--linha);}
  .femme-progressao{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;max-width:660px;}
  .femme-progressao li{display:flex;align-items:flex-start;gap:14px;}
  .femme-progressao li > div{display:flex;flex-direction:column;gap:3px;}
  .femme-progressao strong{font-size:13.5px;font-weight:600;color:var(--vinho);}
  .femme-progressao span:not(.femme-progressao-num){font-size:12.5px;color:var(--texto2);line-height:1.65;}
  .femme-progressao-num{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--terracota);color:var(--tijolo);font-family:'Playfair Display',serif;font-size:12px;flex-shrink:0;margin-top:1px;}
  /* Bloco final de contato: reduzido de propósito numa segunda passada (era grande demais,
     mesmo já sem o degradê vinho->laranja original) -- card pequeno e direto, só chamada +
     título + texto curto + botão, altura automática sem tentar preencher a tela. Fundo vinho
     escuro sólido (--#64232D, sem gradiente, sem laranja/coral em lugar nenhum). */
  .femme-cta-final{max-width:720px;width:calc(100% - 40px);margin:0 auto;background:#64232D;border-radius:20px;padding:32px 36px;text-align:center;}
  .femme-cta-final-eyebrow{font-size:11px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--marfim);opacity:0.85;margin:0 0 8px;}
  .femme-cta-final-titulo{font-family:'Playfair Display',serif;font-weight:600;font-size:clamp(26px,2.4vw,28px);line-height:1.3;color:#fff;margin:0 0 12px;}
  .femme-cta-final-texto{font-size:16px;line-height:1.6;color:var(--marfim);margin:0 0 24px;}
  /* font-size sem override (13px do .btn-primary padrão) -- com o ícone novo, 14px fazia o
     rótulo quebrar em duas linhas dentro de 290px; 13px cabe numa linha só sem alargar o
     botão além do pedido nem cortar texto. */
  .femme-cta-final-btn{width:290px;height:48px;max-width:100%;background:var(--marfim);color:var(--vinho);padding:0 20px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;}
  /* Mensagem discreta e aviso legal ficam FORA do card de propósito (não dentro): o card
     precisa continuar do tamanho compacto de antes ("sem aumentar sua altura", pedido
     explícito) -- qualquer linha extra de texto entra depois dele, não dentro. */
  .femme-cta-final-micro{font-size:11px;color:var(--texto2);text-align:center;max-width:720px;width:calc(100% - 40px);margin:14px auto 0;line-height:1.5;}
  .femme-cta-aviso{font-size:13px;color:var(--texto3);text-align:center;max-width:720px;width:calc(100% - 40px);margin:8px auto 0;line-height:1.6;}
  .femme-reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease;}
  .femme-reveal-on{opacity:1;transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){
    .femme-reveal{opacity:1;transform:none;transition:none;}
  }

  /* ===== Responsivo (uso híbrido computador/celular) ===== */
  #app{width:100%;}
  img,svg{max-width:100%;height:auto;}
  /* ===== Navegação inferior do celular (js/15-shell-sidebar.js) =====
     Pedido de redesenho: "a barra lateral não deve virar apenas um menu escondido" -- troca
     a antiga barra horizontal rolável (que escondia metade dos itens fora da tela) por uma
     barra fixa embaixo, ao alcance do polegar, com os 4 destinos mais usados + "Mais". Só
     existe visualmente abaixo de 820px (ver regra de largura mais abaixo); no HTML ela
     sempre é renderizada, então não depende de JS pra aparecer/sumir. */
  .nav-inferior-mobile{
    display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;
    min-height:88px;box-sizing:border-box;
    background:var(--superficie);border-top:1px solid var(--blush-4);border-radius:28px 28px 0 0;
    box-shadow:0 -8px 28px rgba(160,63,80,.08);
    padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px));
    align-items:flex-start;justify-content:space-around;
  }
  .nav-inferior-item{
    flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;
    background:none;border:none;padding:2px 2px;color:var(--texto3);min-height:48px;border-radius:14px;
  }
  /* Aba ativa: pílula 54x32 (#F8E3DE) com ícone rosé. Todas reservam o mesmo espaço pra
     a barra não "pular" quando a aba muda. */
  .nav-inferior-pilula{display:flex;align-items:center;justify-content:center;width:54px;height:32px;border-radius:999px;transition:background .15s ease;}
  .nav-inferior-item.active{color:var(--rose);}
  .nav-inferior-item.active .nav-inferior-pilula{background:var(--blush-3);}
  .nav-inferior-item:focus-visible{outline:2px solid var(--rose);outline-offset:-2px;}
  .nav-inferior-label{font-size:11px;font-weight:500;line-height:1;white-space:nowrap;}
  .nav-inferior-item.active .nav-inferior-label{font-weight:600;color:var(--vinho);}

  /* ===== Folha "Mais" (celular): sobe de baixo, fundo escurecido, topo arredondado. ===== */
  .painel-mais-fundo{
    display:none;position:fixed;inset:0;z-index:50;background:rgba(89,27,32,0.42);
    align-items:flex-end;justify-content:center;
  }
  .painel-mais{
    width:100%;max-height:86vh;max-height:86dvh;overflow-y:auto;background:var(--offwhite);
    border-radius:28px 28px 0 0;padding:10px 18px calc(22px + env(safe-area-inset-bottom,0px));
    animation:subirFolha .26s ease;
  }
  @keyframes subirFolha{from{transform:translateY(24px);opacity:.4;}to{transform:none;opacity:1;}}
  @media (prefers-reduced-motion: reduce){.painel-mais{animation:none;}}
  .painel-mais-alca{display:block;width:40px;height:4px;border-radius:4px;background:var(--nude-marca);margin:0 auto 10px;}
  .painel-mais-cabecalho{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
  .painel-mais-titulo{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:30px;line-height:1.1;color:var(--rose);margin:0;}
  .painel-mais-fechar{width:44px;height:44px;border-radius:50%;background:var(--blush-3);border:none;color:var(--vinho);font-size:14px;cursor:pointer;}
  .painel-mais-fechar:focus-visible{outline:2px solid var(--rose);outline-offset:2px;}
  .painel-mais-grupo{margin-top:20px;padding-left:14px;}
  .painel-mais-rodape{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--blush-4);}
  .painel-mais-conta{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;color:var(--vinho);}
  .painel-mais-sair{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;background:transparent;border:1.5px solid var(--rose);color:var(--rose);font-size:13px;font-weight:600;}
  .painel-mais-sair:focus-visible{outline:2px solid var(--rose);outline-offset:2px;}

  @media (max-width:860px){
    .jf-shell{flex-direction:column;}
    /* No celular a barra lateral vira só uma faixa de topo com a marca -- toda a navegação
       (nav, rodapé, card do FEMME, botão de recolher) sai daqui e vai pra
       .nav-inferior-mobile / .painel-mais, que existem fora de .jf-sidebar. */
    .jf-sidebar{
      width:100%!important;flex-direction:row!important;align-items:center;
      padding:14px 16px!important;flex-shrink:0!important;position:static!important;
      height:auto!important;align-self:auto!important;
      background:transparent;border-right:0;border-bottom:1px solid var(--blush-4);
    }
    .jf-sidebar-topo{margin-bottom:0;width:100%;}
    .sidebar-colapsar-btn{display:none;}
    .jf-sidebar nav,
    .jf-sidebar .sidebar-grupo-alem,
    .jf-sidebar .jf-sidebar-footer{display:none;}
    .jf-content{padding:20px 16px calc(112px + env(safe-area-inset-bottom,0px))!important;}
    .jf-sidebar-brand{padding-right:0;}
    .nav-inferior-mobile{display:flex;}
    .painel-mais-fundo{display:flex;}
    .recursos-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .femme-section{margin-bottom:44px;}
    .femme-beneficios{grid-template-columns:1fr;gap:14px;margin:20px 0 22px;}
    .femme-incluso-lista{grid-template-columns:1fr;}
    .femme-etapas{grid-template-columns:1fr;}
    .femme-cta-final{padding:24px;}
  }
  @media (max-width:480px){
    .jf-login-card{width:100%!important;padding:26px 22px!important;}
    .jf-bonus-grid{grid-template-columns:1fr!important;}
    .jf-hero-card{padding:22px 18px!important;}
    .jf-home-grid{grid-template-columns:1fr!important;}
    .recursos-grid{grid-template-columns:1fr;}
  }


  /* ===================== TELA: COZINHA FÉRTIL (js/20b-tela-receitas.js e
     js/20c-receitas-app.js) =====================
     Redesenho focado em achar uma receita rápido: cabeçalho compacto, busca com
     sugestões, filtros combináveis (em vez de abas/páginas isoladas), sugestões reais
     na primeira tela. Todo seletor abaixo é prefixado com .receitas-app de propósito --
     o arquivo original (autoral, da Beatriz) tinha seu próprio :root com nomes de
     variável iguais aos nossos (--terracota, --vinho) mas com outros que colidiriam feio
     se ficassem soltos (--nude tem um valor diferente do nosso --nude de sidebar, por
     exemplo). Só o bloco @media print fica fora do escopo (precisa esconder a página
     inteira, incluindo a sidebar, na hora de imprimir uma receita). */
  .receitas-app{
    --off-white:#FAFAF9;
    --nude:#D5C0BB;
    --terracota:#D9704A;
    --terracota-queimada:#BF533B;
    --vermelho:#B7322E;
    --vinho:#591B20;
    --areia:#B99B7F;
    /* --areia (B99B7F) sobre --off-white dá ~2.5:1 de contraste -- bem abaixo do 4.5:1
       exigido pra texto normal (WCAG AA). --areia-tx é a mesma família de cor escurecida
       (~5.4:1) pra qualquer `color:` de texto; --areia em si continua servindo bordas e
       fundos decorativos, onde a régua de contraste é outra. */
    --areia-tx:#7F6145;
    --rose:#A03F50;
    --font-title:'Playfair Display', 'Black Mango', serif;
    --font-body:'Montserrat', 'Codec Pro', sans-serif;
  }
  .receitas-app *{box-sizing:border-box;margin:0;padding:0;}
  /* o reset acima zerava o padding dos botões globais (pílula do redesenho) */
  .receitas-app .btn-primary{padding:7px 8px 7px 28px;}
  .receitas-app .btn-secondary{padding:7px 26px;}
  .receitas-app{
    background:var(--off-white);
    font-family:var(--font-body);
    color:var(--vinho);
  }
  .receitas-app .wrap{
    max-width:1080px;
    margin:0 auto;
    padding:0 20px;
  }

  /* ===== Cabeçalho compacto e alinhado à esquerda (item 1) -- só título + subtítulo,
     sem faixa de marca repetida, sem "O que você quer preparar hoje?" separado da busca.
     Largura igual à do resto da página (.wrap/.cf-filtros/.cf-resultados) em vez de uma
     coluna centralizada mais estreita -- lê como o topo de uma ferramenta, não como uma
     tela de boas-vindas isolada. */
  .cf-header{
    max-width:1080px;
    margin:0 auto;
    padding:18px 20px 4px;
    text-align:left;
  }
  .cf-header h1{
    font-family:var(--font-title);
    font-size:clamp(24px,3.6vw,32px);
    font-weight:800;
    color:var(--vermelho);
    letter-spacing:0.2px;
  }
  .cf-header .cf-subtitle{
    max-width:520px;
    font-size:13px;
    color:var(--vinho);
    opacity:0.72;
    margin-top:4px;
    line-height:1.5;
  }

  /* ===== Busca (item 2) ===== */
  .receitas-app .search{
    max-width:720px;
    margin:14px 0 0;
    padding:0 20px;
    position:relative;
    z-index:20;
  }
  .receitas-app .search-row{
    display:flex;
    align-items:center;
    gap:10px;
  }
  .receitas-app .search-bar{
    flex:1;
    min-width:0;
    display:flex;
    align-items:center;
    gap:10px;
    background:var(--superficie);
    border:1.5px solid var(--nude);
    border-radius:16px;
    padding:6px 8px 6px 18px;
    box-shadow:0 10px 26px rgba(89,27,32,0.10);
  }
  .receitas-app .search-bar:focus-within{border-color:var(--terracota);}
  .receitas-app .search-bar svg{flex-shrink:0;color:var(--areia-tx);}
  .receitas-app .search input{
    flex:1;
    min-width:0;
    border:none;
    outline:none;
    background:none;
    font-family:var(--font-body);
    font-size:14.5px;
    color:var(--vinho);
    padding:12px 0;
  }
  .receitas-app .search input::placeholder{color:var(--areia-tx);opacity:0.85;}
  .receitas-app .fav-toggle,
  .receitas-app .filtros-toggle{
    flex-shrink:0;
    background:var(--superficie);
    border:1.5px solid var(--nude);
    border-radius:16px;
    padding:0 16px;
    height:48px;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.3px;
    color:var(--vermelho);
    cursor:pointer;
    white-space:nowrap;
    display:flex;
    align-items:center;
    gap:6px;
    box-shadow:0 10px 26px rgba(89,27,32,0.06);
    transition:background .15s ease,color .15s ease,border-color .15s ease;
  }
  .receitas-app .fav-toggle.active{background:var(--vermelho);color:#fff;border-color:var(--vermelho);}
  .receitas-app .filtros-toggle{color:var(--vinho);}
  .receitas-app .filtros-toggle.active{border-color:var(--terracota);color:var(--terracota-queimada);background:#FBF3EF;}
  .cf-filtro-badge{
    background:var(--vermelho);color:#fff;font-size:10px;font-weight:700;border-radius:20px;
    padding:1px 6px;line-height:1.4;
  }
  .receitas-app .filtros-toggle .cf-filtro-badge{margin-left:-2px;}
  .receitas-app .fav-toggle:focus-visible,
  .receitas-app .filtros-toggle:focus-visible,
  .receitas-app .search-bar input:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}
  @media (max-width:600px){
    .receitas-app .search-row{flex-wrap:wrap;}
    .receitas-app .search-bar{flex-basis:100%;}
    .receitas-app .filtros-toggle,
    .receitas-app .fav-toggle{flex:1;justify-content:center;height:42px;}
  }
  .receitas-app .search-dropdown{
    position:absolute;
    left:20px;right:20px;
    top:calc(100% + 8px);
    background:var(--superficie);
    border:1px solid var(--nude);
    border-radius:14px;
    box-shadow:0 16px 32px rgba(89,27,32,0.16);
    padding:10px;
    max-height:60vh;
    overflow-y:auto;
    text-align:left;
  }
  .receitas-app .search-dropdown .sd-summary{
    font-size:11px;
    font-weight:600;
    color:var(--vinho);
    padding:6px 10px 8px;
    border-bottom:1px solid var(--off-white);
    margin-bottom:4px;
  }
  .receitas-app .search-dropdown .sd-label{
    font-size:10.5px;
    font-weight:700;
    letter-spacing:0.6px;
    text-transform:uppercase;
    color:var(--areia-tx);
    padding:8px 10px 4px;
  }
  .receitas-app .sd-item{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px;
    border-radius:9px;
    cursor:pointer;
  }
  .receitas-app .sd-item:hover{background:var(--off-white);}
  .receitas-app .sd-badge{
    flex-shrink:0;
    font-size:9px;
    font-weight:700;
    letter-spacing:0.3px;
    text-transform:uppercase;
    padding:3px 8px;
    border-radius:20px;
  }
  .receitas-app .sd-badge.food{background:#F3D9CC;color:var(--terracota-queimada);}
  .receitas-app .sd-badge.tipo{background:#EADCC8;color:var(--terracota);}
  .receitas-app .sd-badge.meal{background:#E3D2CE;color:var(--rose);}
  .receitas-app .sd-badge.collection{background:#E9D6D8;color:var(--vermelho);}
  .receitas-app .sd-badge.recipe{background:#EADFD8;color:var(--vinho);}
  .receitas-app .sd-item .sd-name{font-size:13.5px;color:var(--vinho);font-weight:600;}
  .receitas-app .sd-item:focus-visible{outline:2px solid var(--terracota);outline-offset:-2px;background:var(--off-white);}
  .receitas-app .sd-empty-rich{padding:22px 16px;text-align:center;}
  .receitas-app .sd-empty-title{font-family:var(--font-title);font-size:16px;color:var(--vinho);margin-bottom:4px;}
  .receitas-app .sd-empty-sub{font-size:13px;color:var(--areia-tx);margin-bottom:14px;}
  .receitas-app .sd-empty-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
  .receitas-app .sd-empty-link{
    font-family:var(--font-body);
    font-weight:700;
    font-size:12px;
    color:var(--terracota-queimada);
    background:var(--nude);
    border:none;
    border-radius:20px;
    padding:8px 14px;
    cursor:pointer;
  }
  .receitas-app .sd-empty-link:hover{background:var(--areia);color:#fff;}

  /* ===== Favoritas + Vistas recentemente =====
     Fileira de até 4 cards horizontais reais (miniatura + nome em até 2 linhas + tempo)
     -- não mais os chips-cápsula (pareciam filtro e cortavam o nome numa linha só). Some
     inteiramente quando não há nenhuma receita recente (ver renderRecentRow). */
  .cf-recent-row{
    max-width:1080px;
    margin:20px auto 0;
    padding:0 20px;
  }
  .cf-recent-row .cf-subheading{
    font-size:11px;
    font-weight:700;
    letter-spacing:0.5px;
    text-transform:uppercase;
    color:var(--areia-tx);
    margin-bottom:10px;
  }
  .cf-recent-row-cards{
    display:flex;
    gap:16px;
    overflow-x:auto;
    padding-bottom:2px;
    -webkit-overflow-scrolling:touch;
  }
  .cf-recent-row-cards::-webkit-scrollbar{height:0;}
  .cf-recent-card{
    flex:1 1 220px;
    min-width:200px;
    max-width:280px;
    display:flex;
    align-items:center;
    gap:12px;
    background:var(--superficie);
    border:1px solid var(--nude);
    border-radius:14px;
    padding:8px;
    cursor:pointer;
    text-align:left;
    font-family:var(--font-body);
    transition:border-color .15s ease,transform .15s ease;
  }
  .cf-recent-card:hover{border-color:var(--terracota);transform:translateY(-1px);}
  .cf-recent-card:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}
  .cf-recent-card-photo{
    width:56px;height:56px;border-radius:10px;flex-shrink:0;overflow:hidden;
    background:var(--nude);color:var(--areia-tx);
    display:flex;align-items:center;justify-content:center;
    position:relative;
  }
  .cf-recent-card-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .cf-recent-card-photo .cf-foto-fallback svg{width:20px;height:20px;}
  .cf-recent-card-info{min-width:0;display:flex;flex-direction:column;gap:3px;}
  .cf-recent-card-nome{
    font-size:12.5px;font-weight:700;color:var(--vinho);line-height:1.3;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
  .cf-recent-card-meta{font-size:11px;font-weight:600;color:var(--terracota-queimada);opacity:0.85;}

  /* ===== Filtros (item 3) =====
     Um único botão "Filtros" (ao lado da busca -- ver .filtros-toggle acima) abre este
     painel combinado com todas as facetas organizadas por seção (Refeições/Tipos de
     receita/Ingredientes por grupo/Restrições/Tempo de preparo) -- não é mais um
     dropdown posicionado em absoluto nem quatro botões/painéis separados: expande no
     fluxo normal, funciona igual em mobile sem precisar de breakpoint específico. */
  .cf-filtros{
    max-width:1080px;
    margin:14px auto 0;
    padding:0 20px;
  }
  .cf-filtro-painel{
    background:var(--superficie);
    border:1px solid var(--nude);
    border-radius:16px;
    padding:16px 18px;
    max-height:min(560px,70vh);
    overflow-y:auto;
  }
  .cf-filtro-painel-secao{margin-top:16px;padding-top:16px;border-top:1px solid var(--off-white);}
  .cf-filtro-painel-secao:first-child{margin-top:0;padding-top:0;border-top:none;}
  .cf-filtro-painel-titulo{
    font-size:10.5px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;
    color:var(--areia-tx);margin-bottom:8px;
  }
  .cf-filtro-grupo-titulo{
    font-size:11px;font-weight:600;color:var(--terracota-queimada);margin:10px 0 6px;
  }
  .cf-filtro-grupo-titulo:first-child{margin-top:0;}
  /* Botões de opção dentro do painel (Refeições/Tipos/Ingredientes/Restrições/Tempo) --
     sem isso, cada botão caía no estilo cru padrão do navegador. */
  .receitas-app .filters{display:flex;flex-wrap:wrap;gap:8px;}
  .receitas-app .filter-btn{
    display:inline-flex;align-items:center;
    background:var(--off-white);
    border:1px solid var(--nude);
    border-radius:20px;
    padding:8px 15px;
    font-family:var(--font-body);
    font-weight:600;
    font-size:12.5px;
    color:var(--vinho);
    cursor:pointer;
    transition:all .15s ease;
  }
  .receitas-app .filter-btn.mini{padding:6px 12px;font-size:11.5px;}
  .receitas-app .filter-btn:hover{border-color:var(--terracota);}
  .receitas-app .filter-btn:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}
  /* Estado ativo nunca depende só da cor -- soma um "check" antes do texto (item de
     acessibilidade do redesenho: "não usar apenas cor pra indicar filtro ativo"). */
  .receitas-app .filter-btn.active{
    background:var(--vinho);border-color:var(--vinho);color:#fff;
  }
  .receitas-app .filter-btn.active::before{content:'✓';margin-right:5px;font-weight:700;}
  .cf-casa-toggle{
    display:flex;align-items:center;gap:9px;margin-top:12px;padding-top:12px;
    border-top:1px solid var(--off-white);cursor:pointer;
  }
  .cf-casa-toggle input{accent-color:var(--terracota);width:15px;height:15px;cursor:pointer;}
  .cf-casa-toggle span{font-size:12.5px;color:var(--vinho);}
  .cf-casa-toggle .cf-casa-hint{display:block;font-size:11px;color:var(--areia-tx);margin-top:1px;}

  /* Chips ativos + contagem (item 3) */
  .cf-chips-linha{
    display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;
  }
  .cf-chip-ativo{
    display:inline-flex;align-items:center;gap:6px;background:var(--vinho);color:#fff;
    border-radius:20px;padding:6px 8px 6px 14px;font-size:12px;font-weight:600;
  }
  .cf-chip-ativo button{
    background:rgba(255,255,255,0.22);border:none;color:#fff;width:18px;height:18px;
    border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;
    font-size:13px;line-height:1;padding:0;
  }
  .cf-chip-ativo button:hover{background:rgba(255,255,255,0.38);}
  .cf-limpar-link{
    background:none;border:none;font-family:var(--font-body);font-weight:700;font-size:12px;
    color:var(--vermelho);cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:6px 2px;
  }
  .cf-resultado-count{
    font-size:12.5px;font-weight:600;color:var(--areia-tx);margin-top:10px;
  }

  /* ===== Área de resultados ===== */
  .cf-resultados{max-width:1080px;margin:0 auto;padding:0 20px;}
  /* ~44px entre as três seções principais (coleções, destaques, explorar) -- por
     classe, não por tag: os blocos são <div>s criados via JS, não <section>s. Mesma
     regra vale pro primeiro bloco: o respiro logo abaixo dos filtros/chips já soma ~44px
     sem precisar zerar a margem do primeiro filho. */
  #resultsArea > .ideas-section,
  #resultsArea > .cf-destaques-section,
  #resultsArea > .cf-explore-section{margin-top:44px;}
  .receitas-app .section-title{
    font-family:var(--font-title);
    font-size:21px;
    font-weight:700;
    color:var(--vinho);
    margin-bottom:18px;
  }
  .receitas-app .section-desc{
    font-size:13px;
    color:var(--areia-tx);
    line-height:1.4;
    margin:0 0 18px;
  }
  .receitas-app .section-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:18px;
  }
  .receitas-app .section-head .see-all{flex-shrink:0;margin-top:2px;}
  /* Link "Ver todas"/"Ver todos" quando não está ao lado de um título (abas de
     Ingredientes/Tipos, dentro de "Explore do seu jeito") -- alinhado à esquerda, no
     mesmo eixo do resto do conteúdo, nunca centralizado no meio da página. */
  .receitas-app .cf-see-all-inline{display:block;margin-top:16px;}
  .receitas-app .see-all{
    font-size:12.5px;
    font-weight:700;
    color:var(--vermelho);
    opacity:0.92;
    background:none;
    border:none;
    cursor:pointer;
    white-space:nowrap;
    letter-spacing:0.2px;
    text-underline-offset:3px;
    transition:opacity .15s ease;
  }
  .receitas-app .see-all:hover{opacity:1;text-decoration:underline;}
  .receitas-app .see-all:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}

  /* ---- cards de receita (usados em Sugestões, resultados filtrados, favoritas e
     vistas recentemente -- um único componente, item 4) ---- */
  .receitas-app .recipe-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
  }
  @media (min-width:560px){
    .receitas-app .recipe-grid{grid-template-columns:repeat(2,1fr);gap:18px;}
  }
  @media (min-width:860px){
    .receitas-app .recipe-grid{grid-template-columns:repeat(3,1fr);}
  }
  @media (min-width:1200px){
    .receitas-app .recipe-grid{grid-template-columns:repeat(4,1fr);}
  }
  .receitas-app .recipe-card{
    background:var(--superficie);
    border:1px solid var(--nude);
    border-radius:16px;
    padding:0;
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
    position:relative;
    overflow:hidden;
  }
  .receitas-app .recipe-card:hover,
  .receitas-app .recipe-card:focus-visible{
    transform:translateY(-3px);
    box-shadow:0 16px 30px rgba(89,27,32,0.16);
    border-color:var(--terracota);
    outline:none;
  }
  .receitas-app .recipe-card:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}
  .receitas-app .fav-btn{
    position:absolute;
    top:10px;
    right:10px;
    width:36px;height:36px;
    background:rgba(255,255,255,0.94);
    border:none;
    border-radius:50%;
    cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    line-height:1;
    color:var(--nude);
    box-shadow:0 2px 8px rgba(89,27,32,0.14);
    padding:0;
    z-index:2;
  }
  .receitas-app .fav-btn.active{color:var(--vermelho);}
  .receitas-app .fav-btn:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}
  .receitas-app .tag{
    position:absolute;
    top:10px;
    left:10px;
    display:inline-block;
    font-size:10px;
    font-weight:700;
    letter-spacing:0.5px;
    text-transform:uppercase;
    padding:4px 10px;
    border-radius:20px;
    width:fit-content;
    box-shadow:0 2px 8px rgba(89,27,32,0.10);
    z-index:2;
  }
  .receitas-app .tag.doce{background:rgba(243,217,204,0.95);color:var(--terracota-queimada);}
  .receitas-app .recipe-photo{
    aspect-ratio:4/3;
    background:var(--nude);
    position:relative;
    overflow:hidden;
  }
  .receitas-app .recipe-photo img{
    width:100%;height:100%;
    object-fit:cover;
    display:block;
    transition:transform .35s ease;
  }
  .receitas-app .recipe-card:hover .recipe-photo img{transform:scale(1.05);}
  @media (min-width:560px){
    .receitas-app .recipe-photo{aspect-ratio:1/1;}
  }
  .receitas-app .recipe-card .recipe-info{padding:12px 14px 14px;}
  .receitas-app .recipe-card h3{
    font-family:var(--font-body);
    font-size:14.5px;
    color:var(--vinho);
    font-weight:700;
    line-height:1.3;
    padding-right:16px;
  }
  .receitas-app .recipe-card .meta-line{
    font-size:11.5px;
    color:var(--terracota-queimada);
    opacity:0.85;
    font-weight:600;
    letter-spacing:0.1px;
    margin-top:5px;
  }
  .receitas-app .recipe-card .cf-card-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;}
  .receitas-app .recipe-card .cf-card-badges .pill{font-size:9px;padding:2px 7px;}
  /* Seta discreta que aparece no hover -- reforça que o card inteiro é clicável
     (item 4 e 5), sem precisar de texto "ver receita" competindo com o resto. */
  .receitas-app .cf-card-arrow{
    position:absolute;bottom:10px;right:10px;width:24px;height:24px;border-radius:50%;
    background:var(--superficie);box-shadow:0 2px 6px rgba(89,27,32,0.14);display:flex;align-items:center;
    justify-content:center;opacity:0;transform:translateX(-4px);
    transition:opacity .18s ease,transform .18s ease;color:var(--terracota-queimada);
  }
  .receitas-app .recipe-card:hover .cf-card-arrow,
  .receitas-app .recipe-card:focus-visible .cf-card-arrow{opacity:1;transform:translateX(0);}
  .receitas-app .fav-empty{
    text-align:center;
    padding:70px 20px;
    max-width:420px;
    margin:0 auto;
  }
  .receitas-app .fav-empty-title{
    font-family:var(--font-title);
    font-size:21px;
    color:var(--vinho);
    margin-bottom:8px;
  }
  .receitas-app .fav-empty-sub{
    font-size:14px;
    color:var(--areia-tx);
    line-height:1.5;
    margin-bottom:20px;
  }
  .receitas-app .fav-empty-cta{
    font-family:var(--font-body);
    font-weight:700;
    font-size:13px;
    color:#fff;
    background:var(--terracota-queimada);
    border:none;
    border-radius:20px;
    padding:11px 22px;
    cursor:pointer;
  }
  .receitas-app .fav-empty-cta:hover{background:var(--vermelho);}
  .receitas-app .fav-empty-cta:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}
  .receitas-app .no-results{
    grid-column:1/-1;
    text-align:center;
    color:var(--vinho);
    padding:44px 20px;
    font-size:14.5px;
  }
  .receitas-app .no-results p{margin:0;}
  .receitas-app .no-results p:first-child{
    font-family:var(--font-title);
    font-weight:700;
    font-size:17px;
  }
  .receitas-app .no-results-hint{
    color:var(--areia-tx);
    font-size:13px;
    margin-top:6px !important;
  }
  .receitas-app .no-results-similares{
    display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:14px;
  }
  .receitas-app .clear-filters-btn{
    margin-top:14px;
    background:var(--vinho);
    color:#fff;
    border:none;
    font-family:var(--font-body);
    font-weight:700;
    font-size:12.5px;
    padding:10px 22px;
    border-radius:20px;
    cursor:pointer;
  }
  .receitas-app .clear-filters-btn:hover{background:var(--vermelho);}
  .receitas-app .clear-filters-btn:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}
  .receitas-app .load-more-row{text-align:center;margin-top:24px;}
  .receitas-app .load-more-btn{
    background:var(--superficie);
    border:1.5px solid var(--nude);
    color:var(--vinho);
    font-family:var(--font-body);
    font-weight:700;
    font-size:12.5px;
    padding:12px 26px;
    border-radius:20px;
    cursor:pointer;
  }
  .receitas-app .load-more-btn:hover{border-color:var(--terracota);color:var(--terracota-queimada);}
  .receitas-app .load-more-btn:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}

  /* ---- skeleton de carregamento (item 6) -- blocos com brilho suave em vez de texto
     centralizado sozinho ou de um degradê "final" -- lê como "carregando", não como
     resultado. ---- */
  @keyframes cfShimmer{0%{background-position:-120% 0;}100%{background-position:120% 0;}}
  .cf-skeleton-card{border:1px solid var(--nude);border-radius:16px;overflow:hidden;background:var(--superficie);}
  .cf-skeleton-photo{aspect-ratio:4/3;background:linear-gradient(100deg,var(--off-white) 30%,#F0E6DE 50%,var(--off-white) 70%);background-size:200% 100%;animation:cfShimmer 1.3s ease-in-out infinite;}
  .cf-skeleton-card .cf-skeleton-line{height:10px;border-radius:4px;margin:14px 14px 0;background:linear-gradient(100deg,var(--off-white) 30%,#F0E6DE 50%,var(--off-white) 70%);background-size:200% 100%;animation:cfShimmer 1.3s ease-in-out infinite;}
  .cf-skeleton-card .cf-skeleton-line:last-child{margin-bottom:14px;}
  .cf-header-skeleton{text-align:center;padding:40px 20px 10px;color:var(--areia-tx);font-size:13px;}

  /* ---- foto reserva (auditoria de imagens): quando uma receita não tem foto real do
     prato pronto, um ícone discreto aparece sobre um fundo neutro -- nunca o degradê
     forte de marca (lia como "resultado quebrado"/preenchimento chamativo). Usado só em
     RECEITA (card/recentes/modal) -- coleção/refeição/ingrediente/tipo usam ícone fixo
     de categoria, não fallback de foto (ver COLLECTION_ICONS/MEAL_ICONS/cf-nav-icon). */
  .receitas-app .recipe-photo{position:relative;}
  .cf-foto-fallback{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    color:var(--areia-tx);opacity:0.55;
  }

  /* ===== "O que você precisa agora?" -- coleções temáticas =====
     Cards mais baixos que antes (proporção 16/9 em vez de 4/3), grid de verdade em telas
     pequenas (empilha) em vez de carrossel horizontal -- até 4 colunas no desktop. */
  .receitas-app .ideas-section{margin-bottom:8px;}
  .receitas-app .ideas-row{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
  }
  @media (min-width:560px){
    .receitas-app .ideas-row{grid-template-columns:repeat(2,1fr);}
  }
  @media (min-width:1000px){
    .receitas-app .ideas-row{grid-template-columns:repeat(4,1fr);}
  }
  .receitas-app .idea-card{
    background:var(--superficie);
    border:1px solid var(--nude);
    border-radius:14px;
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
    position:relative;
    overflow:hidden;
  }
  .receitas-app .idea-card:hover,
  .receitas-app .idea-card:focus-visible{
    transform:translateY(-2px);
    box-shadow:0 14px 26px rgba(89,27,32,0.15);
    border-color:var(--terracota);
    outline:none;
  }
  /* Sem fotografia (auditoria de imagens): coleção é um tema ("Fim de semana", "Dia
     frio"...), não um prato específico -- tentar adivinhar uma foto a partir de
     ingredientes foi o que causava imagens incoerentes (tigela de arroz, abacate cru
     etc.). Selo de ícone compacto e neutro em vez de um bloco alto -- ver
     COLLECTION_ICONS em 20c-receitas-app.js. */
  .receitas-app .idea-icon-wrap{padding:16px 16px 0;}
  .receitas-app .idea-icon{
    width:42px;height:42px;border-radius:11px;
    background:var(--off-white);color:var(--terracota-queimada);
    display:flex;align-items:center;justify-content:center;
  }
  .receitas-app .idea-info{padding:12px 16px 16px;}
  .receitas-app .idea-title{
    font-family:var(--font-body);
    font-weight:700;
    font-size:15px;
    color:var(--vinho);
    letter-spacing:0.1px;
  }
  .receitas-app .idea-desc{
    font-size:11.5px;
    color:var(--vinho);
    opacity:0.68;
    line-height:1.35;
    margin-top:2px;
  }
  .receitas-app .idea-count{
    font-size:11px;
    font-weight:600;
    color:var(--terracota-queimada);
    opacity:0.85;
    margin-top:5px;
    letter-spacing:0.2px;
  }

  /* ===== "Explore do seu jeito" -- abas viram filtros combináveis, fica por último,
     compacta; clicar num card ativa aquele filtro nos resultados em vez de abrir uma
     página isolada. Só a aba selecionada é desenhada por vez (ver secaoExplorar). ===== */
  .cf-explore-tabs{
    display:flex;
    background:var(--nude);
    border-radius:11px;
    padding:3px;
    max-width:fit-content;
    margin-bottom:20px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .cf-explore-tab{
    flex-shrink:0;
    white-space:nowrap;
    border:none;
    background:none;
    padding:7px 14px;
    border-radius:8px;
    font-family:var(--font-body);
    font-weight:700;
    font-size:12px;
    letter-spacing:0.2px;
    color:var(--vinho);
    cursor:pointer;
    transition:all .2s ease;
  }
  .cf-explore-tab.active{background:var(--superficie);color:var(--vermelho);box-shadow:0 2px 6px rgba(89,27,32,0.14);}
  .cf-explore-tab:focus-visible{outline:2px solid var(--terracota);outline-offset:-2px;}
  /* ---- navegação secundária por grupo (aba Ingredientes -- Frutas/Vegetais/
     Proteínas/... vêm direto dos dados, nunca é uma lista fixa) -- pílulas compactas,
     mesma linguagem visual de .filter-btn, só um grupo fica selecionado por vez. ---- */
  .receitas-app .cf-subnav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;}
  .receitas-app .cf-subnav-item{
    background:var(--superficie);border:1px solid var(--nude);border-radius:20px;
    padding:8px 15px;font-family:var(--font-body);font-weight:600;font-size:12.5px;
    color:var(--vinho);cursor:pointer;transition:all .15s ease;
  }
  .receitas-app .cf-subnav-item:hover{border-color:var(--terracota);}
  .receitas-app .cf-subnav-item:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}
  .receitas-app .cf-subnav-item.active{background:var(--vinho);border-color:var(--vinho);color:#fff;}

  /* ---- cards compactos de navegação (Refeições/Ingredientes/Tipos de receita dentro de
     "Explore do seu jeito") -- ícone + nome + contagem, sem fotografia: essas áreas
     servem só pra ativar um filtro, não são conteúdo editorial (auditoria de imagens).
     Layout horizontal (ícone à esquerda) em vez do antigo card vertical com foto no
     topo -- mais compacto, cabe mais por fileira. ---- */
  .receitas-app .cf-nav-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
    gap:16px;
  }
  .receitas-app .cf-nav-grid-4{grid-template-columns:repeat(4,1fr);}
  @media (max-width:860px){
    .receitas-app .cf-nav-grid-4{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:420px){
    .receitas-app .cf-nav-grid-4{grid-template-columns:1fr;}
  }
  .receitas-app .cf-nav-card{
    display:flex;
    align-items:center;
    gap:12px;
    background:var(--superficie);
    border:1px solid var(--nude);
    border-radius:14px;
    padding:12px 14px;
    text-align:left;
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  }
  .receitas-app .cf-nav-card.cf-ativo{border-color:var(--terracota);box-shadow:0 0 0 1.5px var(--terracota) inset;}
  .receitas-app .cf-nav-card:hover,
  .receitas-app .cf-nav-card:focus-visible{
    transform:translateY(-2px);
    box-shadow:0 10px 20px rgba(89,27,32,0.12);
    border-color:var(--terracota);
    outline:none;
  }
  .receitas-app .cf-nav-icon{
    flex-shrink:0;width:38px;height:38px;border-radius:10px;
    background:var(--off-white);color:var(--terracota-queimada);
    display:flex;align-items:center;justify-content:center;
  }
  .receitas-app .cf-nav-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
  .receitas-app .cf-nav-nome{
    font-family:var(--font-body);
    font-weight:700;
    font-size:13px;
    line-height:1.3;
    color:var(--vinho);
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .receitas-app .cf-nav-count{font-size:11px;font-weight:600;color:var(--terracota-queimada);opacity:0.8;}
  .receitas-app .cf-nav-seta{flex-shrink:0;color:var(--areia-tx);opacity:0.7;}

  .receitas-app .hidden{display:none !important;}

  /* ===== Modal de receita ===== */
  .receitas-app .modal-overlay{
    position:fixed;
    inset:0;
    background:rgba(89,27,32,0.6);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    z-index:100;
  }
  .receitas-app .modal{
    background:var(--off-white);
    border-radius:4px;
    max-width:540px;
    width:100%;
    max-height:85vh;
    overflow-y:auto;
    padding:30px;
    position:relative;
    border-top:4px solid var(--terracota);
  }
  .receitas-app .modal-photo{
    margin:-30px -30px 20px;
    aspect-ratio:16/10;
    background:var(--nude);
    border-radius:4px 4px 0 0;
    overflow:hidden;
    position:relative;
  }
  .receitas-app .modal-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .receitas-app .modal-close{
    position:absolute;
    top:16px;
    right:16px;
    background:rgba(255,255,255,0.94);
    border:none;
    width:34px;
    height:34px;
    border-radius:50%;
    font-size:17px;
    cursor:pointer;
    color:var(--vinho);
    font-weight:700;
    box-shadow:0 1px 4px rgba(89,27,32,0.2);
  }
  .receitas-app .modal-fav{
    position:absolute;
    top:16px;
    right:60px;
    background:rgba(255,255,255,0.94);
    border:none;
    width:34px;
    height:34px;
    border-radius:50%;
    cursor:pointer;
    color:var(--vinho);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 1px 4px rgba(89,27,32,0.2);
  }
  .receitas-app .modal-fav.active{background:var(--vermelho);color:#fff;}
  .receitas-app .modal-fav:focus-visible,.receitas-app .modal-close:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}
  .receitas-app .modal h2{
    font-family:var(--font-title);
    font-size:23px;
    color:var(--vinho);
    margin-bottom:8px;
    padding-right:70px;
  }
  .receitas-app .modal .meta{
    display:flex;
    gap:10px;
    align-items:center;
    margin-bottom:18px;
    flex-wrap:wrap;
  }
  .receitas-app .modal h4{
    font-family:var(--font-body);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:0.8px;
    color:var(--terracota-queimada);
    font-weight:700;
    margin-top:18px;
    margin-bottom:8px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
  }
  .receitas-app .copy-btn{
    background:none;
    border:1.5px solid var(--nude);
    color:var(--vinho);
    border-radius:3px;
    padding:2px 10px;
    font-size:10px;
    font-weight:700;
    text-transform:none;
    letter-spacing:0;
    cursor:pointer;
  }
  .receitas-app .copy-btn:hover{border-color:var(--terracota);color:var(--terracota-queimada);}
  .receitas-app .modal ul{list-style:none;font-size:14px;line-height:1.6;color:var(--vinho);}
  .receitas-app .modal ul li{
    padding:6px 0;
    border-bottom:1px dashed var(--nude);
    display:flex;
    align-items:flex-start;
    gap:8px;
    cursor:pointer;
  }
  .receitas-app .modal ul li:last-child{border-bottom:none;}
  .receitas-app .modal ul li input{margin-top:4px;accent-color:var(--terracota);}
  .receitas-app .modal ul li.checked span{text-decoration:line-through;color:var(--areia-tx);}
  .receitas-app .modal ol{padding-left:20px;font-size:14px;line-height:1.85;color:var(--vinho);}
  .receitas-app .modal ol li{margin-bottom:8px;}
  .receitas-app .modal p.small{font-size:12.5px;line-height:1.6;color:var(--areia-tx);}
  .receitas-app .badges-row{display:flex;gap:6px;flex-wrap:wrap;}
  .receitas-app .pill{
    display:inline-flex;
    align-items:center;
    gap:4px;
    font-size:9.5px;
    font-weight:700;
    letter-spacing:0.3px;
    text-transform:uppercase;
    padding:2px 8px;
    border-radius:3px;
    background:var(--off-white);
    border:1px solid var(--nude);
    color:var(--vinho);
  }
  /* Indicador "+N" quando há mais etiquetas do que cabe no card (item "cards de receita"
     do redesenho) -- mesma forma do pill, um tom mais discreto pra não competir com a
     etiqueta principal. */
  .receitas-app .pill-mais{background:transparent;border-color:var(--areia);color:var(--areia-tx);}
  .receitas-app .print-btn{
    background:none;
    border:1.5px solid var(--nude);
    color:var(--vinho);
    border-radius:3px;
    padding:2px 10px;
    font-size:10px;
    font-weight:700;
    cursor:pointer;
  }
  .receitas-app .print-btn:hover{border-color:var(--terracota);color:var(--terracota-queimada);}
  @keyframes fadeInUp{
    from{opacity:0; transform:translateY(6px);}
    to{opacity:1; transform:translateY(0);}
  }
  .receitas-app .fade-in{animation:fadeInUp .28s ease both;}
  .receitas-app #printArea{display:none;}
  @media print{
    body *{visibility:hidden;}
    #printArea, #printArea *{visibility:visible;}
    #printArea{
      display:block !important;
      position:absolute; left:0; top:0; width:100%;
      padding:20px;
    }
    #printArea h1{font-family:serif; font-size:22px; margin-bottom:6px; color:#591B20;}
    #printArea h4{font-size:12px; text-transform:uppercase; letter-spacing:0.6px; margin-top:14px; color:#BF533B;}
    #printArea ul, #printArea ol{margin-left:18px; font-size:13px; line-height:1.6;}
    #printArea .pmeta{font-size:11px; color:#B99B7F; margin-bottom:10px;}
  }

  /* ===== Responsivo (item 8): busca sempre acessível, filtros em painel de largura
     total (o painel já não é um dropdown posicionado, então não precisa de regra
     específica pra mobile), grid de resultado em 1 coluna por padrão (ver acima). ===== */
  @media (max-width:600px){
    .receitas-app .modal{padding:22px;}
    .receitas-app .modal-photo{margin:-22px -22px 16px;}
    .receitas-app .modal h2{padding-right:0;margin-top:8px;}
  }

  /* ===== prefers-reduced-motion (acessibilidade) -- desliga o hover com translateY, o
     brilho do skeleton e a entrada com fade nos cards/seções; o conteúdo continua
     aparecendo normalmente, só sem o movimento. ===== */
  @media (prefers-reduced-motion: reduce){
    .receitas-app *{transition:none !important;animation:none !important;}
    .receitas-app .recipe-card:hover,
    .receitas-app .idea-card:hover,
    .receitas-app .cf-nav-card:hover,
    .receitas-app .cf-recent-card:hover{transform:none;}
    .receitas-app .recipe-card:hover .recipe-photo img{transform:none;}
  }

  /* ===================== FAQ DA TENTANTE (js/26b-tela-faq.js) =====================
     Escopado em .faq-tentante de propósito: a página "Conheça o Método FEMME"
     (js/26-tela-perfil-agendar.js) também tem um mini-FAQ próprio, com a classe .faq-item
     e o marcador "+"/"–" original (ver regra global .faq-item summary::after logo no
     início deste arquivo). As perguntas desta página usam a classe .faq-pergunta, não
     .faq-item -- de propósito: usar o mesmo nome de classe da FEMME sem perceber foi
     exatamente o que causou aquele "+" solto aparecendo perto do topo da página numa
     revisão anterior (o ::after com position:absolute daquela regra global caía nesta
     página também, sem um ancestral posicionado por perto, empilhando todos os "+" de
     cada pergunta no mesmo canto em vez de um por pergunta). Não mexo na regra da FEMME,
     só garanto que esta página nunca mais compartilhe a classe com ela. */
  .faq-tentante{max-width:900px;}

  /* ---- card de abertura único: título, subtítulo, busca e aviso educativo juntos
     (revisão de layout: eram 3 blocos soltos -- cabeçalho, aviso em caixa amarela, busca
     em bloco separado -- e ficava com fileiras demais antes de chegar no conteúdo). ---- */
  .faq-tentante .faq-abertura{
    position:relative;overflow:hidden;
    background:var(--nude);border-radius:18px;
    padding:26px 28px 20px;margin-bottom:22px;
  }
  .faq-tentante .faq-abertura-ilustracao{
    position:absolute;right:-6px;top:-10px;width:120px;height:120px;
    color:var(--terracota);opacity:0.16;pointer-events:none;
  }
  .faq-tentante .faq-abertura-conteudo{position:relative;max-width:600px;}
  .faq-tentante h2.faq-titulo{font-size:22px;margin:0 0 4px;}
  .faq-tentante .faq-subtitulo{font-size:13px;color:var(--texto3);line-height:1.6;margin:0 0 16px;}

  .faq-tentante .faq-busca-caixa{
    display:flex;align-items:center;gap:9px;
    background:var(--superficie);border:1.5px solid var(--linha);border-radius:30px;
    padding:8px 14px;
  }
  .faq-tentante .faq-busca-caixa:focus-within{border-color:var(--terracota);}
  .faq-tentante .faq-busca-caixa svg{flex-shrink:0;color:var(--texto3);}
  .faq-tentante .faq-busca-caixa input{flex:1;min-width:0;border:none;outline:none;background:none;font-family:'Montserrat',sans-serif;font-size:13px;color:var(--texto);}
  .faq-tentante .faq-busca-caixa input::placeholder{color:var(--texto3);opacity:0.75;}
  .faq-tentante .faq-limpar-x{
    flex-shrink:0;width:20px;height:20px;border-radius:50%;border:none;
    background:var(--nude);color:var(--vinho);font-size:14px;line-height:1;
    display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;
  }
  .faq-tentante .faq-limpar-x:hover{background:var(--linha);}
  .faq-tentante .faq-limpar-x.hidden{display:none;}
  .faq-tentante .faq-limpar-x:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}

  /* aviso educativo: uma linha só, no rodapé do card de abertura (token semântico
     "alerta" já existente no projeto, não uma cor nova). */
  .faq-tentante .faq-aviso{
    display:flex;align-items:center;gap:7px;margin-top:14px;
  }
  .faq-tentante .faq-aviso svg{flex-shrink:0;color:var(--amarelo-tx);}
  .faq-tentante .faq-aviso p{font-size:11.5px;line-height:1.4;color:var(--amarelo-tx);margin:0;}

  /* ---- "Encontre por tema" + seletor de momento compacto (era uma fileira inteira de
     botões "Todos/Tentando engravidar/Em tratamento ou FIV/Gestante" -- virou um
     <select> nativo, some sozinho quando uma busca está em andamento). ---- */
  .faq-tentante .faq-tema-cabecalho{
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;
    margin-bottom:12px;
  }
  .faq-tentante .faq-tema-titulo{font-family:'Playfair Display',serif;font-weight:600;font-size:16px;color:var(--vinho);margin:0;}
  .faq-tentante .faq-momento{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--texto3);}
  .faq-tentante .faq-momento select{
    font-family:'Montserrat',sans-serif;font-size:12px;color:var(--vinho);font-weight:600;
    border:1px solid var(--linha);border-radius:20px;background:var(--superficie);
    padding:5px 10px;cursor:pointer;
  }
  .faq-tentante .faq-momento select:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}

  /* ---- grade de categorias em cards (item 3 do pedido) ---- */
  .faq-tentante .faq-categorias{
    display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px;
  }
  .faq-tentante .faq-cat-card{
    display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;
    background:var(--superficie);border:1.5px solid var(--linha);border-radius:14px;
    padding:14px 14px 12px;cursor:pointer;transition:all .15s ease;
  }
  .faq-tentante .faq-cat-card:hover{border-color:var(--terracota);}
  .faq-tentante .faq-cat-card.ativa{border-color:var(--vinho);background:var(--nude);}
  .faq-tentante .faq-cat-card:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}
  .faq-tentante .faq-cat-icone{
    width:34px;height:34px;border-radius:50%;background:var(--nude);
    display:flex;align-items:center;justify-content:center;color:var(--tijolo);flex-shrink:0;
  }
  .faq-tentante .faq-cat-card.ativa .faq-cat-icone{background:var(--superficie);}
  .faq-tentante .faq-cat-nome{font-size:12.5px;font-weight:600;color:var(--vinho);line-height:1.3;}
  .faq-tentante .faq-cat-contagem{font-size:11px;color:var(--texto3);}
  @media (max-width:600px){
    .faq-tentante .faq-categorias{grid-template-columns:repeat(2,1fr);}
  }

  .faq-tentante .faq-contagem{font-size:11.5px;color:var(--texto3);margin:0 0 12px;min-height:14px;}
  .faq-tentante .faq-ver-todas{
    background:none;border:none;color:var(--tijolo);font-family:'Montserrat',sans-serif;
    font-size:12px;font-weight:600;cursor:pointer;padding:0;margin:2px 0 16px;
  }
  .faq-tentante .faq-ver-todas:hover{text-decoration:underline;}
  .faq-tentante .faq-ver-todas:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}

  /* ---- perguntas em cards (item 5 do pedido) -- fundo branco, borda delicada, cantos
     arredondados e espaço entre elas, em vez de linhas coladas com borda inferior só.
     Texto em vinho (não mais terracota/vermelho -- competia demais entre as 33 linhas) e
     fonte sem serifa (a serifada Playfair fica só nos títulos de seção, não em toda
     pergunta). ---- */
  .faq-tentante .faq-lista{display:flex;flex-direction:column;gap:10px;}
  .faq-tentante .faq-pergunta{
    background:var(--superficie);border:1px solid var(--linha);border-radius:14px;
    overflow:hidden;
  }
  .faq-tentante .faq-pergunta summary{
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    list-style:none;cursor:pointer;padding:15px 16px;
    font-family:'Montserrat',sans-serif;font-weight:600;font-size:13.5px;line-height:1.4;
    color:var(--vinho);
  }
  .faq-tentante .faq-pergunta summary::-webkit-details-marker{display:none;}
  .faq-tentante .faq-pergunta summary::marker{content:'';}
  .faq-tentante .faq-pergunta-texto{flex:1;min-width:0;}
  .faq-tentante .faq-chevron-aro{
    flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--nude);
    display:flex;align-items:center;justify-content:center;
  }
  .faq-tentante .faq-chevron{color:var(--texto3);transition:transform .25s ease;}
  .faq-tentante .faq-pergunta[open] .faq-chevron-aro{background:var(--terracota);}
  .faq-tentante .faq-pergunta[open] .faq-chevron{transform:rotate(180deg);color:#fff;}
  .faq-tentante .faq-pergunta summary:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}
  .faq-tentante .faq-pergunta:hover summary{color:var(--tijolo);}

  .faq-tentante .faq-resposta{padding:0 16px 18px;max-width:820px;}
  .faq-tentante .faq-resposta p{font-size:13.5px;line-height:1.72;color:var(--texto3);margin:0 0 12px;}
  .faq-tentante .faq-resposta p:last-of-type{margin-bottom:0;}
  .faq-tentante .faq-resposta-lead{font-weight:600;color:var(--texto);}
  .faq-tentante .faq-resposta mark,
  .faq-tentante .faq-pergunta-texto mark{
    background:var(--marfim);color:var(--tijolo);border-radius:3px;padding:0 2px;font-weight:700;
  }
  .faq-tentante .faq-link-relacionado{
    display:inline-flex;align-items:center;gap:4px;margin-top:2px;
    background:none;border:none;color:var(--tijolo);
    font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;cursor:pointer;padding:0;
  }
  .faq-tentante .faq-link-relacionado:hover{text-decoration:underline;}
  .faq-tentante .faq-link-relacionado:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}

  @keyframes faqAbrirResposta{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}
  .faq-tentante .faq-pergunta[open] .faq-resposta{animation:faqAbrirResposta .18s ease;}
  @media (prefers-reduced-motion: reduce){
    .faq-tentante .faq-pergunta[open] .faq-resposta{animation:none;}
  }

  .faq-tentante .faq-vazio{text-align:center;padding:40px 20px;max-width:480px;margin:0 auto;}
  .faq-tentante .faq-vazio-titulo{font-family:'Playfair Display',serif;font-size:15px;color:var(--texto3);margin:0 0 16px;}

  /* ---- encerramento: um card só, rosado, texto + botão lado a lado (empilha no
     celular). Antes eram dois cards brancos separados. ---- */
  .faq-tentante .faq-card-final{
    display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
    background:var(--marfim);border-radius:16px;border:none;
    padding:24px 26px;margin-top:8px;
  }
  .faq-tentante .faq-card-final-texto{flex:1;min-width:240px;}
  .faq-tentante .faq-card-final h3{font-size:16px;margin:0 0 6px;}
  .faq-tentante .faq-card-final p{font-size:13px;color:var(--texto3);line-height:1.62;margin:0;}
  .faq-tentante .faq-card-final .faq-lembrete{font-size:11.5px;color:var(--texto3);opacity:0.85;margin-top:8px;}
  .faq-tentante .faq-card-final .btn-primary{flex-shrink:0;background:var(--vinho);}

  @media (max-width:480px){
    .faq-tentante .faq-abertura{padding:20px 18px 16px;}
    .faq-tentante .faq-abertura-ilustracao{width:80px;height:80px;}
    .faq-tentante .faq-pergunta summary{font-size:13px;padding:13px 14px;gap:10px;}
    .faq-tentante .faq-busca-caixa{padding:8px 12px;}
    .faq-tentante .faq-card-final{padding:20px;}
  }

  /* ===================== MINHAS RESPOSTAS (js/21-tela-respostas.js) =====================
     Escopado em .respostas-jornada, mesma receita visual do .faq-tentante (card de
     abertura em --nude, cards em grade brancos com borda fina, respostas em cards brancos
     empilhados, ícones lineares) -- de propósito, pra esta tela e a FAQ parecerem do mesmo
     produto, como pedido. */
  .respostas-jornada{max-width:900px;}
  .respostas-jornada .resp-abertura{
    background:var(--nude);border-radius:18px;
    padding:26px 28px 22px;margin-bottom:22px;
  }
  .respostas-jornada h2.resp-titulo{font-size:22px;margin:0 0 4px;}
  .respostas-jornada .resp-subtitulo{font-size:13px;color:var(--texto3);line-height:1.6;margin:0 0 8px;max-width:600px;}
  .respostas-jornada .resp-nota{font-size:11.5px;color:var(--texto3);opacity:0.85;margin:0;}

  .respostas-jornada .resp-secao-titulo{font-family:'Playfair Display',serif;font-weight:600;font-size:16px;color:var(--vinho);margin:0 0 12px;}

  /* ---- cards-resumo dos questionários (item 2) ---- */
  .respostas-jornada .resp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px;}
  @media (max-width:600px){
    .respostas-jornada .resp-grid{grid-template-columns:1fr;}
  }
  .respostas-jornada .resp-card{
    position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;
    background:var(--superficie);border:1.5px solid var(--linha);border-radius:14px;
    padding:14px 14px 12px;cursor:pointer;transition:all .15s ease;width:100%;
    font-family:'Montserrat',sans-serif;
  }
  .respostas-jornada .resp-card:hover{border-color:var(--terracota);}
  .respostas-jornada .resp-card.ativa{border-color:var(--vinho);background:var(--nude);}
  .respostas-jornada .resp-card:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}
  .respostas-jornada .resp-card-indicador{position:absolute;top:14px;right:14px;width:7px;height:7px;border-radius:50%;background:var(--vinho);}
  .respostas-jornada .resp-card-icone{width:34px;height:34px;border-radius:50%;background:var(--nude);display:flex;align-items:center;justify-content:center;color:var(--tijolo);flex-shrink:0;}
  .respostas-jornada .resp-card.ativa .resp-card-icone{background:var(--superficie);}
  .respostas-jornada .resp-card-nome{font-size:12.5px;font-weight:600;color:var(--vinho);line-height:1.3;}
  .respostas-jornada .resp-card-progresso{font-size:11px;color:var(--texto3);}
  .respostas-jornada .resp-card-status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.3px;}
  .respostas-jornada .resp-card-status.concluido{color:var(--verde-tx);}
  .respostas-jornada .resp-card-status.andamento{color:var(--amarelo-tx);}
  .respostas-jornada .resp-card .progress-outer{display:block;width:100%;margin:1px 0 0;}
  .respostas-jornada .resp-card .progress-inner{display:block;}

  /* ---- cabeçalho do questionário selecionado (item 4) ---- */
  .respostas-jornada .resp-q-header{
    display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;
    background:var(--nude);border-radius:14px;padding:16px 18px;margin-bottom:12px;
  }
  .respostas-jornada .resp-q-header{background:var(--blush-2);border:1px solid var(--blush-4);border-radius:26px;padding:18px 20px;}
  .respostas-jornada .resp-q-nome{font-size:17px;margin:0 0 6px;}
  .respostas-jornada .resp-q-acoes{display:flex;align-items:center;gap:10px;flex-shrink:0;}
  .respostas-jornada .resp-expandir-btn{
    width:30px;height:30px;border-radius:50%;background:var(--superficie);border:1px solid var(--linha);
    display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--texto3);
    flex-shrink:0;transition:all .15s ease;padding:0;
  }
  .respostas-jornada .resp-expandir-btn:hover{border-color:var(--terracota);color:var(--terracota);}
  .respostas-jornada .resp-expandir-btn:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}
  .respostas-jornada .resp-expandir-btn svg{transition:transform .2s ease;}
  .respostas-jornada .resp-expandir-btn.aberta svg{transform:rotate(180deg);}

  /* ---- respostas em cards (item 5) ---- */
  .respostas-jornada .resp-lista{display:flex;flex-direction:column;gap:10px;}
  .respostas-jornada .resp-linha,
  .respostas-jornada .resp-editando{
    background:var(--superficie);border:1px solid var(--linha);border-radius:14px;padding:14px 16px;
  }
  .respostas-jornada .resp-linha{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;}
  .respostas-jornada .resp-pergunta{font-size:12px;color:var(--texto3);margin:0 0 4px;font-family:'Montserrat',sans-serif;}
  .respostas-jornada .resp-editando .resp-pergunta{margin-bottom:10px;}
  .respostas-jornada .resp-resposta{font-size:13.5px;font-weight:600;color:var(--vinho);margin:0;font-family:'Montserrat',sans-serif;line-height:1.4;}

  /* ---- respostas com várias opções, em chips (item 6) ---- */
  .respostas-jornada .resp-chips{display:flex;flex-wrap:wrap;gap:6px;}
  .respostas-jornada .resp-chip{
    background:var(--nude);color:var(--vinho);font-size:11.5px;font-weight:500;
    padding:4px 10px;border-radius:20px;white-space:normal;
  }

  /* ---- botão de editar: circular só com ícone no desktop, ícone+texto no celular ---- */
  .respostas-jornada .resp-editar-btn{
    flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--superficie);
    border:1px solid var(--linha);display:flex;align-items:center;justify-content:center;
    gap:6px;cursor:pointer;color:var(--texto3);transition:all .15s ease;padding:0;
  }
  .respostas-jornada .resp-editar-btn:hover,
  .respostas-jornada .resp-editar-btn:focus-visible{border-color:var(--terracota);color:var(--terracota);background:var(--nude);}
  .respostas-jornada .resp-editar-btn:focus-visible{outline:2px solid var(--terracota);outline-offset:2px;}
  .respostas-jornada .resp-editar-texto{display:none;}

  .respostas-jornada .resp-vazio{text-align:center;padding:50px 20px;max-width:480px;margin:0 auto;}
  .respostas-jornada .resp-vazio-titulo{font-family:'Playfair Display',serif;font-size:15px;color:var(--texto3);margin:0 0 16px;}

  @media (max-width:480px){
    .respostas-jornada .resp-abertura{padding:20px 18px 16px;}
    .respostas-jornada .resp-editar-btn{width:auto;padding:7px 12px;border-radius:20px;}
    .respostas-jornada .resp-editar-texto{display:inline;font-size:12px;font-weight:600;}
    .respostas-jornada .resp-linha{flex-direction:column;align-items:stretch;}
    .respostas-jornada .resp-editar-btn{align-self:flex-start;}
  }

  /* Toast discreto ("Resposta atualizada") -- fica fora do escopo .respostas-jornada de
     propósito, porque é anexado direto em document.body (não faz parte da árvore da
     página), não um componente de toast global reaproveitável por outras telas. */
  .resp-toast{
    position:fixed;left:50%;bottom:28px;transform:translate(-50%,8px);
    background:var(--vinho);color:#fff;font-family:'Montserrat',sans-serif;
    font-size:12.5px;font-weight:600;padding:10px 18px;border-radius:30px;
    opacity:0;transition:opacity .2s ease,transform .2s ease;z-index:9999;pointer-events:none;
  }
  .resp-toast.mostrar{opacity:1;transform:translate(-50%,0);}
  @media (prefers-reduced-motion: reduce){
    .resp-toast{transition:opacity .2s ease;transform:translate(-50%,0);}
  }

  /* ===================== MARCA D'ÁGUA (desenho fino da marca) =====================
     Decorativa: alt="" + aria-hidden no <img>, sem eventos, inclinada. No máximo UMA por tela
     (regra do logo). Opacidade ~0,16 por padrão; cada uso pode ajustar dentro de 0,10 a 0,20. */
  .marca-dagua{position:absolute;pointer-events:none;user-select:none;opacity:.16;transform:rotate(-6deg);max-width:none;height:auto;}

  /* ===================== HOME (js/18-tela-home.js) =====================
     Redesenho elegante: saudação em Cormorant itálico rosé, herói blush do módulo do dia +
     card "Seu caminho", seções com ~60px de respiro (44px no celular). Mesmos nomes de classe
     de antes onde o JS (inclusive js/06-conteudo-por-diagnostico.js) ainda os usa. */
  .home-jornada{max-width:1080px;}
  .home-cabecalho{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:36px;}
  .home-cabecalho .titulo-pagina{margin-top:2px;}
  .home-apoio{font-size:14.5px;line-height:1.7;color:var(--texto-sec);max-width:600px;margin:0;}
  .home-topo{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:20px;align-items:stretch;}
  /* herói: canto assimétrico (40px 40px 40px 12px), gradiente blush com brilho terracota */
  .home-heroi{position:relative;overflow:hidden;border-radius:40px 40px 40px 12px;padding:34px 36px;color:var(--vinho);
    background:radial-gradient(90% 70% at 100% 0%,rgba(217,112,74,.38),transparent 62%),linear-gradient(155deg,var(--blush-heroi-a),var(--blush-heroi-b));
    box-shadow:var(--sombra-card);}
  .home-heroi-dagua{right:-26px;bottom:-34px;width:230px;}
  .home-heroi-corpo{position:relative;z-index:1;max-width:520px;}
  .home-heroi-titulo{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:40px;line-height:1.05;color:var(--rose);margin:12px 0 12px;}
  .home-heroi-titulo-longo{font-family:'Playfair Display',serif;font-weight:500;font-size:22px;line-height:1.3;color:var(--vinho);margin:12px 0 12px;}
  .home-heroi-texto{font-size:14.5px;line-height:1.7;color:var(--texto-sec);margin:0 0 24px;}
  .home-proximo-acoes{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
  .home-proximo-link{font-size:13px;color:var(--texto-sec);font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center;}
  .home-proximo-link:hover{color:var(--rose);}
  .home-proximo-link:focus-visible{outline:2px solid var(--rose);outline-offset:2px;border-radius:4px;}
  /* card "Seu caminho": 9 segmentos, progresso, filete e as 3 fases do plano (texto fixo) */
  .home-caminho-card{padding:26px 26px 24px;display:flex;flex-direction:column;}
  .home-aside-progresso-texto{font-size:14px;color:var(--vinho);font-weight:600;margin:0;line-height:1.4;}
  .home-filete{border:0;border-top:1px solid var(--blush-4);margin:20px 0 18px;}
  .home-fases-lista{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;}
  .home-fases-lista li{font-size:13.5px;color:var(--texto3);line-height:1.4;padding-left:18px;position:relative;}
  .home-fases-lista li::before{content:'';position:absolute;left:0;top:6px;width:7px;height:7px;border-radius:50%;background:var(--blush-6);}
  .home-fases-lista li.atual{color:var(--vinho);font-weight:600;}
  .home-fases-lista li.atual::before{background:var(--terracota);}
  /* seções */
  .home-jornada .home-semana,.home-jornada .home-selecionados,.home-jornada .home-opcional{margin-top:60px;margin-bottom:0;}
  .home-jornada .home-secao-titulo{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:32px;line-height:1.1;color:var(--rose);margin:0 0 18px;}
  .home-semana-card{background:var(--superficie);border:1px solid var(--blush-4);border-radius:26px;padding:20px 22px;box-shadow:var(--sombra-card);}
  .home-semana-resumo{font-size:11.5px;color:var(--texto3);font-weight:600;letter-spacing:.04em;margin:0 0 6px;}
  .home-semana-lista{display:flex;flex-direction:column;}
  .home-semana-item{display:flex;align-items:flex-start;gap:12px;padding:13px 8px;border-bottom:1px solid var(--blush-4);cursor:pointer;border-radius:12px;min-height:48px;}
  .home-semana-item:last-child{border-bottom:none;}
  .home-semana-item:hover{background:var(--blush-2);}
  .home-semana-item:focus-visible{outline:2px solid var(--rose);outline-offset:-2px;}
  .home-semana-item.feito{opacity:.75;}
  .home-semana-check{flex-shrink:0;margin-top:1px;}
  .home-semana-corpo{min-width:0;}
  .home-semana-acao{font-size:14px;color:var(--vinho);font-weight:500;margin:0 0 2px;line-height:1.4;}
  .home-semana-item.feito .home-semana-acao{text-decoration:line-through;opacity:.65;}
  .home-semana-meta{font-size:12px;color:var(--texto3);margin:0;}
  .home-semana-vazio{display:flex;align-items:center;gap:10px;background:var(--blush-2);border:1px solid var(--blush-4);border-radius:26px;padding:20px 24px;font-size:14px;line-height:1.6;color:var(--texto-sec);}
  .home-semana-vazio [role="link"]{color:var(--rose);cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-weight:500;}
  .home-semana-vazio [role="link"]:focus-visible{outline:2px solid var(--rose);outline-offset:2px;border-radius:4px;}
  .home-selecionados-cabecalho{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
  .home-selecionados-vertodos{font-size:13px;color:var(--texto-sec);font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;}
  .home-selecionados-vertodos:hover{color:var(--rose);}
  .home-selecionados-vertodos:focus-visible{outline:2px solid var(--rose);outline-offset:2px;border-radius:4px;}
  .home-selecionados-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
  .home-selecionado-card{background:var(--blush-2);border:1px solid var(--blush-4);border-radius:26px;padding:22px;cursor:pointer;transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease;}
  .home-selecionado-card:hover{border-color:var(--rose);box-shadow:var(--sombra-card);transform:translateY(-1px);}
  .home-selecionado-card:focus-visible{outline:2px solid var(--rose);outline-offset:2px;}
  .home-selecionado-icone{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--superficie);margin-bottom:14px;}
  .home-selecionado-meta{font-size:10.5px;color:var(--eyebrow);font-weight:600;letter-spacing:.18em;margin:0 0 8px;}
  .home-selecionado-titulo{font-family:'Playfair Display',serif;font-size:17px;font-weight:500;color:var(--vinho);margin:0 0 8px;line-height:1.3;}
  .home-selecionado-texto{font-size:13.5px;color:var(--texto-sec);line-height:1.6;margin:0;}
  /* Mapa da Mulher: card calmo em blush, teia pequena, 4 itens como chips, SEM o desenho */
  .home-mapa-card{display:flex;gap:24px;align-items:center;justify-content:space-between;border-radius:12px 40px 40px 40px;padding:30px 34px;
    background:linear-gradient(160deg,var(--blush-2),var(--blush-3));border:1px solid var(--blush-4);}
  .home-mapa-principal{flex:1 1 360px;min-width:0;}
  .home-mapa-titulo{font-family:'Playfair Display',serif;font-weight:500;font-size:20px;line-height:1.3;color:var(--vinho);margin:0 0 8px;}
  .home-mapa-texto{font-size:14px;color:var(--texto-sec);line-height:1.65;margin:0 0 16px;max-width:520px;}
  .home-mapa-entregas{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
  .home-mapa-entregas li.chip{background:var(--superficie);border:1px solid var(--blush-4);font-size:12px;}
  .home-mapa-acoes{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
  .home-mapa-condicao{font-size:13px;color:var(--texto-sec);}
  .home-mapa-prioridade{font-family:'Playfair Display',serif;font-weight:500;font-size:19px;line-height:1.4;color:var(--vinho);margin:10px 0 10px;}
  .home-mapa-previa{flex-shrink:0;width:96px;height:84px;display:flex;align-items:center;justify-content:center;}
  .home-mapa-previa svg{width:100%;height:auto;}
  @media (max-width:1080px){
    .home-topo{grid-template-columns:1fr;}
    .home-selecionados-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  }
  @media (max-width:860px){
    .home-cabecalho{margin-bottom:28px;}
    .home-jornada .home-semana,.home-jornada .home-selecionados,.home-jornada .home-opcional{margin-top:44px;}
    .home-jornada .home-secao-titulo{font-size:28px;}
    .home-selecionados-grid{grid-template-columns:1fr;gap:16px;}
    .home-heroi{padding:28px 24px;}
    .home-heroi-titulo{font-size:34px;}
    .home-heroi-dagua{width:170px;right:-30px;bottom:-24px;}
    .home-mapa-card{padding:26px 22px;}
  }
  @media (max-width:480px){
    .home-jornada .btn-primary,.home-jornada .btn-secondary{width:100%;}
    .home-proximo-acoes{flex-direction:column;align-items:flex-start;gap:6px;}
    .home-mapa-card{flex-direction:column-reverse;align-items:flex-start;}
    .home-mapa-previa{width:72px;height:64px;}
  }

  /* ===== Meu caminho (js/19-tela-modulos.js) =====
     Linha do tempo ÚNICA dos 9 módulos (não agrupa nas fases do plano). Desktop: a etapa atual e
     a linha do tempo à esquerda, progresso e bônus à direita; em largura estreita o progresso
     vem primeiro (a lateral sobe, via order). O único desenho da página é o logo que se enche. */
  .caminho-cabecalho{margin-bottom:28px;}
  .caminho-cabecalho .titulo-pagina{margin-bottom:12px;}
  .caminho-sub{font-size:14.5px;color:var(--texto-sec);line-height:1.7;margin:0;max-width:560px;}
  .caminho-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start;}
  .caminho-lateral{display:flex;flex-direction:column;gap:20px;order:2;position:sticky;top:24px;}
  .caminho-percurso{order:1;}
  .caminho-progresso-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 22px;overflow:hidden;}
  .caminho-progresso-texto{min-width:0;flex:1;}
  .caminho-progresso-titulo{font-family:'Playfair Display',serif;font-weight:500;font-size:19px;line-height:1.3;color:var(--vinho);margin:0 0 8px;}
  .caminho-progresso-apoio{font-size:13px;color:var(--texto-sec);line-height:1.6;margin:12px 0 0;}
  .caminho-progresso-texto .eyebrow::before{display:none;}
  .caminho-logo{position:relative;flex:0 0 78px;width:78px;aspect-ratio:780/900;}
  .caminho-logo img{position:absolute;inset:0;width:100%;height:100%;display:block;}
  .caminho-logo-base{opacity:.18;}
  .caminho-trilha{display:flex;align-items:center;gap:5px;}
  .caminho-trilha-seg{flex:1;height:5px;border-radius:99px;background:var(--blush-6);}
  .caminho-trilha-seg.feito{background:var(--rose);}
  .caminho-trilha-seg.atual{background:var(--blush-3);box-shadow:inset 0 0 0 1.5px var(--rose);}
  .caminho-bonus-card{padding:22px;}
  .caminho-bonus-lista{list-style:none;margin:14px 0 14px;padding:0;display:flex;flex-direction:column;gap:2px;}
  .caminho-bonus-lista li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--blush-4);font-size:13.5px;color:var(--texto-sec);}
  .caminho-bonus-lista li:last-child{border-bottom:none;}
  .caminho-bonus-icone{color:var(--texto3);display:inline-flex;}
  .caminho-bonus-lista li.aberto .caminho-bonus-icone{color:var(--rose);}
  .caminho-bonus-nome{flex:1;min-width:0;}
  .caminho-bonus-mod{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--texto3);white-space:nowrap;}
  .caminho-bonus-lista li.aberto .caminho-bonus-mod{color:var(--rose);}
  /* linha do tempo vertical */
  .caminho-percurso{position:relative;}
  .caminho-percurso::before{content:'';position:absolute;left:19px;top:24px;bottom:24px;width:1.5px;background:var(--blush-6);}
  .caminho-etapa{position:relative;display:flex;gap:16px;padding:12px 0;align-items:flex-start;}
  .caminho-marcador{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;}
  .caminho-marcador.concluida{background:var(--rose);}
  .caminho-marcador.atual{background:var(--blush-3);border:2px solid var(--rose);color:var(--vinho);}
  .caminho-marcador.futura{background:var(--superficie);border:1px solid var(--blush-6);color:var(--texto3);}
  .caminho-etapa-corpo{flex:1;min-width:0;padding-top:4px;}
  .caminho-eyebrow{display:block;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--eyebrow);margin-bottom:4px;}
  .caminho-etapa-corpo h4{font-family:'Playfair Display',serif;font-weight:500;font-size:18px;line-height:1.3;color:var(--vinho);margin:0 0 4px;}
  .caminho-etapa-concluida .caminho-etapa-corpo h4{font-size:16px;}
  .caminho-revisitar{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--rose);text-decoration:underline;text-underline-offset:3px;}
  .caminho-revisitar:focus-visible{outline:2px solid var(--rose);outline-offset:2px;border-radius:4px;}
  /* "Sua etapa atual": mesmo estilo do herói da Home, sem marca d'água */
  .caminho-etapa.caminho-etapa-atual{flex-direction:row;padding:24px 26px;margin:6px 0;border-radius:40px 40px 40px 12px;
    background:radial-gradient(90% 70% at 100% 0%,rgba(217,112,74,.38),transparent 62%),linear-gradient(155deg,var(--blush-heroi-a),var(--blush-heroi-b));box-shadow:var(--sombra-card);}
  .caminho-etapa-atual .caminho-etapa-corpo{padding-top:0;}
  .caminho-etapa-atual .caminho-etapa-corpo h4{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:30px;line-height:1.1;color:var(--rose);margin:8px 0 10px;}
  .caminho-descricao{font-size:14.5px;color:var(--texto-sec);line-height:1.65;margin:0 0 14px;max-width:460px;}
  .caminho-etapa-futura .caminho-etapa-corpo h4{font-size:16px;color:var(--texto-sec);}
  .caminho-bloqueio{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--texto3);}
  .caminho-libera{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;letter-spacing:.04em;color:var(--rose);margin:8px 0 12px;}
  .caminho-etapa-concluida .caminho-libera,.caminho-etapa-futura .caminho-libera{margin:6px 0 4px;}
  @media (max-width:1080px){
    .caminho-layout{grid-template-columns:1fr;gap:24px;}
    /* largura estreita: progresso primeiro, depois a linha do tempo, e o card de bônus por último */
    .caminho-lateral{display:contents;}
    .caminho-progresso-card{order:-1;}
    .caminho-percurso{order:0;}
    .caminho-bonus-card{order:1;}
  }
  @media (max-width:860px){
    .caminho-etapa.caminho-etapa-atual{padding:22px 20px;}
    .caminho-etapa-atual .caminho-etapa-corpo h4{font-size:26px;}
    .caminho-etapa-atual .btn-primary{width:100%;}
  }

  /* ===== Bônus e materiais (js/20-tela-bonus.js) ===== */
  .bonus-faixa{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;}
  .bonus-faixa-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 2px;border-radius:18px;background:var(--superficie);border:1px solid var(--blush-4);color:var(--texto3);}
  .bonus-faixa-num{font-size:13px;font-weight:600;}
  .bonus-faixa-presente{display:flex;align-items:center;justify-content:center;width:19px;height:19px;color:var(--rose);}
  .bonus-faixa-item.feito{background:var(--blush-3);color:var(--vinho);}
  .bonus-faixa-item.atual{border:2px solid var(--rose);color:var(--vinho);background:var(--blush-2);}
  .bonus-proximo{display:flex;align-items:center;gap:18px;padding:24px 26px;margin-bottom:28px;}
  .bonus-proximo-icone{display:inline-flex;align-items:center;justify-content:center;flex:0 0 56px;width:56px;height:56px;border-radius:50%;background:var(--superficie);}
  .bonus-desc{font-size:13.5px;color:var(--texto-sec);line-height:1.6;margin:8px 0 0;}
  .bonus-proximo-regra{font-size:12.5px;color:var(--texto3);margin:10px 0 0;}
  .bonus-card{display:flex;flex-direction:column;gap:10px;padding:22px;}
  .bonus-card.aberto{border:1.5px solid var(--rose);}
  .bonus-card-topo{display:flex;align-items:center;gap:10px;}
  .bonus-card-icone{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--blush-2);color:var(--texto3);}
  .bonus-card-topo .eyebrow::before{display:none;}
  .bonus-selo-aberto{margin-left:auto;font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rose);background:var(--blush-3);padding:5px 10px;border-radius:999px;}
  .bonus-card .bonus-desc{margin:0;}
  .bonus-card-rodape{margin-top:auto;padding-top:8px;}
  .bonus-trava{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--texto3);margin:0;}
  .bonus-detalhe{margin-top:28px;}
  @media (max-width:860px){
    .bonus-faixa{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;}
    .bonus-faixa-item{padding:8px 0;border-radius:14px;}
    .bonus-proximo{padding:20px;}
  }

  /* ===== Cozinha Fértil: acabamento do redesenho (SEM fotos) =====
     Sobrescreve o bloco .receitas-app acima (mesma especificidade, vem depois). Cards só de
     texto com ícone num círculo, "O que você precisa agora?" com cantos de pétala alternados,
     "Explore do seu jeito" em pílulas, receita em modal no desktop e tela cheia no celular.
     Nenhum espaço reservado pra imagem em card, modal, miniatura ou esqueleto de carregamento. */
  .receitas-app{background:transparent;}
  .cf-header{padding:0 0 6px;max-width:none;}
  .cf-header h1{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:56px;line-height:1.05;color:var(--rose);letter-spacing:0;}
  .cf-header .cf-subtitle{max-width:600px;font-size:14.5px;line-height:1.7;color:var(--texto-sec);opacity:1;margin-top:12px;}
  .receitas-app .cf-filtros,.receitas-app .cf-resultados,.receitas-app .cf-recent-row{max-width:none;padding-left:0;padding-right:0;}
  .receitas-app .wrap{padding:0;}
  .receitas-app .search{max-width:none;margin-top:26px;}
  .receitas-app .search-bar{border-radius:999px;min-height:54px;background:var(--superficie);border:1px solid var(--blush-4);box-shadow:var(--sombra-card);}
  .receitas-app .search-bar:focus-within{border-color:var(--rose);}
  .receitas-app .search input{font-size:16px;text-overflow:ellipsis;}
  @media (max-width:480px){.receitas-app .search-bar{padding-left:16px;padding-right:12px;gap:8px;}}
  .receitas-app .fav-toggle,.receitas-app .filtros-toggle{min-height:54px;border-radius:999px;padding-left:20px;padding-right:20px;background:var(--superficie);border:1px solid var(--blush-4);color:var(--vinho);font-weight:600;}
  .receitas-app .filtros-toggle.active{border-color:var(--rose);color:var(--rose);background:var(--blush-2);}
  .receitas-app .fav-toggle.active{background:var(--rose);color:var(--offwhite);border-color:var(--rose);}
  .receitas-app .fav-toggle:focus-visible,.receitas-app .filtros-toggle:focus-visible,.receitas-app .search-bar input:focus-visible{outline:2px solid var(--rose);outline-offset:3px;}
  .receitas-app .search input:focus-visible{outline:none;}
  /* seções */
  .receitas-app .ideas-section,.receitas-app .cf-explorar,.receitas-app .cf-destaques-section{margin-top:52px;}
  .receitas-app .section-title{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:32px;line-height:1.1;color:var(--rose);margin-bottom:6px;}
  .receitas-app .section-desc{font-size:14px;color:var(--texto-sec);}
  .receitas-app .see-all{color:var(--rose);font-weight:600;min-height:44px;}
  /* "O que você precisa agora?": 4 cards com cantos de pétala alternados */
  .receitas-app .ideas-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
  .receitas-app .idea-card{background:var(--superficie);border:1px solid var(--blush-4);box-shadow:var(--sombra-card);border-radius:12px 36px 36px 36px;padding:22px;display:flex;flex-direction:column;gap:12px;cursor:pointer;}
  .receitas-app .idea-card:nth-child(even){border-radius:36px 12px 36px 36px;}
  .receitas-app .idea-card:hover,.receitas-app .idea-card:focus-visible{border-color:var(--rose);transform:translateY(-2px);box-shadow:0 14px 32px rgba(160,63,80,.11);}
  .receitas-app .idea-card:focus-visible{outline:2px solid var(--rose);outline-offset:3px;}
  .receitas-app .idea-icon-wrap{padding:0;}
  .receitas-app .idea-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--blush-3);color:var(--rose);}
  .receitas-app .idea-info{padding:0;}
  .receitas-app .idea-title{font-family:'Playfair Display',serif;font-weight:500;font-size:18px;line-height:1.3;color:var(--vinho);}
  .receitas-app .idea-desc{font-size:13px;line-height:1.55;color:var(--texto-sec);margin-top:4px;}
  .receitas-app .idea-count{font-size:12px;font-weight:600;color:var(--rose);margin-top:10px;}
  .receitas-app .ideas-row .cf-card-arrow{display:none;}
  /* abas e pílulas de "Explore do seu jeito" */
  .receitas-app .cf-subnav{gap:10px;margin-bottom:22px;}
  .receitas-app .cf-subnav-item{min-height:48px;border-radius:999px;padding:0 22px;background:var(--superficie);border:1px solid var(--blush-4);color:var(--vinho);font-weight:600;font-size:13.5px;}
  .receitas-app .cf-subnav-item:hover{border-color:var(--rose);}
  .receitas-app .cf-subnav-item:focus-visible{outline:2px solid var(--rose);outline-offset:3px;}
  .receitas-app .cf-subnav-item.active{background:var(--vinho);border-color:var(--vinho);color:var(--offwhite);}
  .receitas-app .cf-nav-grid{gap:14px;}
  .receitas-app .cf-nav-card{border-radius:999px;min-height:64px;padding:8px 20px 8px 10px;background:var(--superficie);border:1px solid var(--blush-4);box-shadow:var(--sombra-card);gap:12px;}
  .receitas-app .cf-nav-card:hover,.receitas-app .cf-nav-card:focus-visible{border-color:var(--rose);}
  .receitas-app .cf-nav-card.cf-ativo{border:1.5px solid var(--rose);box-shadow:none;background:var(--blush-2);}
  .receitas-app .cf-nav-icon{width:44px;height:44px;border-radius:50%;background:var(--blush-3);color:var(--rose);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
  .receitas-app .cf-nav-nome{font-size:14px;font-weight:600;color:var(--vinho);}
  .receitas-app .cf-nav-count{font-size:12px;color:var(--texto-sec);opacity:1;font-weight:500;}
  .receitas-app .cf-nav-seta{color:var(--rose);opacity:1;}
  /* chips de filtro ativo, "Limpar filtros", contagem */
  .receitas-app .cf-chips-linha{gap:8px;margin:18px 0 6px;}
  .receitas-app .cf-chip-ativo{background:var(--blush-3);color:var(--vinho);border:1px solid var(--rose);border-radius:999px;font-weight:600;}
  .receitas-app .cf-chip-ativo button{color:var(--vinho);min-width:28px;min-height:28px;}
  .receitas-app .cf-limpar-link{color:var(--rose);font-weight:600;text-decoration:underline;text-underline-offset:3px;min-height:44px;}
  .receitas-app .cf-resultado-count,.cf-resultado-count{font-size:14px;font-weight:500;color:var(--texto-sec);margin:22px 0 16px;}
  /* lista de receitas: cards só de texto (ícone num círculo, título, meta, etiquetas, selo DOCE, coração) */
  .receitas-app .recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
  .receitas-app .recipe-card{display:flex;align-items:flex-start;gap:14px;padding:20px 20px;border-radius:26px;border:1px solid var(--blush-4);box-shadow:var(--sombra-card);background:var(--superficie);overflow:visible;}
  .receitas-app .recipe-card:hover,.receitas-app .recipe-card:focus-visible{border-color:var(--rose);box-shadow:0 14px 32px rgba(160,63,80,.11);transform:translateY(-2px);}
  .receitas-app .recipe-card:focus-visible{outline:2px solid var(--rose);outline-offset:3px;}
  .cf-card-icone{flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:var(--blush-3);color:var(--rose);display:inline-flex;align-items:center;justify-content:center;}
  .receitas-app .recipe-card .recipe-info{padding:0;flex:1;min-width:0;padding-right:44px;}
  .receitas-app .recipe-card h3{font-family:'Playfair Display',serif;font-weight:500;font-size:17px;line-height:1.3;color:var(--vinho);}
  .receitas-app .recipe-card .meta-line{font-size:12.5px;color:var(--texto-sec);margin-top:5px;}
  .receitas-app .recipe-card .cf-card-badges{margin-top:10px;gap:6px;}
  .receitas-app .pill{background:var(--blush-3);color:var(--vinho);border:0;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:999px;}
  .receitas-app .recipe-card .cf-card-badges .pill{font-size:10px;padding:4px 9px;}
  .receitas-app .pill-mais{background:transparent;border:1px solid var(--blush-6);color:var(--texto-sec);}
  .receitas-app .recipe-card .tag{position:absolute;top:18px;right:62px;background:var(--blush-3);color:var(--rose);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;border-radius:999px;}
  .receitas-app .recipe-card .tag.doce{background:var(--blush-3);color:var(--rose);}
  .receitas-app .recipe-card .fav-btn{top:14px;right:14px;width:44px;height:44px;background:var(--blush-2);box-shadow:none;color:var(--rose);}
  .receitas-app .fav-btn.active{color:var(--rose);}
  .receitas-app .recipe-card .cf-card-arrow{display:none;}
  .receitas-app .load-more-btn{min-height:50px;border-radius:999px;padding:0 28px;border:1.5px solid var(--rose);color:var(--rose);background:transparent;font-weight:600;}
  .receitas-app .load-more-btn:hover{background:var(--blush-2);border-color:var(--rose);color:var(--rose);}
  .receitas-app .clear-filters-btn{border-radius:999px;background:var(--vinho);min-height:48px;}
  /* "Vistas recentemente": ícone no lugar da miniatura */
  .receitas-app .cf-recent-card{border-radius:999px;border:1px solid var(--blush-4);background:var(--superficie);}
  .cf-recent-card-photo{width:40px;height:40px;border-radius:50%;background:var(--blush-3);color:var(--rose);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
  .cf-recent-card-photo svg{width:20px;height:20px;}
  /* esqueleto de carregamento: sem área de imagem */
  .receitas-app .cf-skeleton-card{display:flex;gap:14px;align-items:center;padding:20px;border:1px solid var(--blush-4);border-radius:26px;background:var(--superficie);}
  .cf-skeleton-icone{flex:0 0 46px;height:46px;border-radius:50%;background:linear-gradient(100deg,var(--blush-2) 30%,var(--blush-4) 50%,var(--blush-2) 70%);background-size:200% 100%;animation:cfSkel 1.4s ease-in-out infinite;}
  .cf-skeleton-textos{flex:1;min-width:0;}
  .receitas-app .cf-skeleton-card .cf-skeleton-line{margin:0 0 10px;}
  .receitas-app .cf-skeleton-card .cf-skeleton-line:last-child{margin-bottom:0;}
  @media (prefers-reduced-motion: reduce){.cf-skeleton-icone{animation:none;}}
  /* receita: modal no desktop, tela cheia no celular */
  .receitas-app .modal-overlay{background:rgba(89,27,32,.42);}
  .receitas-app .modal{background:var(--superficie);border-radius:32px;border:1px solid var(--blush-4);border-top:1px solid var(--blush-4);max-width:600px;max-height:88vh;max-height:88dvh;padding:34px;}
  .cf-modal-icone{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--blush-3);color:var(--rose);margin-bottom:14px;}
  .receitas-app .modal h2{font-family:'Playfair Display',serif;font-weight:500;font-size:28px;line-height:1.2;color:var(--vinho);padding-right:90px;}
  .receitas-app .modal h2 em{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:1.3em;line-height:1;color:var(--rose);}
  .receitas-app .modal .meta{color:var(--texto-sec);}
  .receitas-app .modal .meta-line{font-size:13px;color:var(--texto-sec);}
  .receitas-app .modal h4{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:24px;color:var(--rose);text-transform:none;letter-spacing:0;}
  .receitas-app .modal ul li input{accent-color:var(--rose);width:20px;height:20px;}
  .receitas-app .modal ul li{min-height:44px;align-items:center;}
  .receitas-app .modal ol li::marker{color:var(--rose);font-weight:600;}
  .receitas-app .copy-btn,.receitas-app .print-btn{min-height:44px;border-radius:999px;border:1.5px solid var(--rose);color:var(--rose);background:transparent;padding:0 18px;font-weight:600;}
  .receitas-app .copy-btn:hover,.receitas-app .print-btn:hover{background:var(--blush-2);border-color:var(--rose);color:var(--rose);}
  .receitas-app .modal-close{width:44px;height:44px;background:var(--blush-3);color:var(--vinho);}
  .receitas-app .modal-fav{width:44px;height:44px;background:var(--blush-2);color:var(--rose);box-shadow:none;}
  .receitas-app .modal-fav.active{background:var(--blush-3);color:var(--rose);}
  @media (max-width:1080px){
    .receitas-app .recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .receitas-app .ideas-row{grid-template-columns:repeat(2,minmax(0,1fr));}
    .receitas-app .cf-nav-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  }
  @media (max-width:860px){
    .cf-header h1{font-size:44px;}
    .receitas-app .section-title{font-size:28px;}
    .receitas-app .recipe-grid{grid-template-columns:1fr;gap:14px;}
    .receitas-app .ideas-row{grid-template-columns:1fr;gap:14px;}
    .receitas-app .cf-nav-grid-4{grid-template-columns:1fr;}
    .receitas-app .ideas-section,.receitas-app .cf-explorar,.receitas-app .cf-destaques-section{margin-top:44px;}
    .receitas-app .search-row{flex-wrap:wrap;}
  }
  @media (max-width:600px){
    .receitas-app .modal-overlay{padding:0;align-items:stretch;}
    .receitas-app .modal{max-width:none;width:100%;height:100vh;height:100dvh;max-height:none;border-radius:0;border:0;padding:24px 20px calc(28px + env(safe-area-inset-bottom,0px));}
    .receitas-app .modal h2{font-size:26px;}
  }

  /* ===== Campos de formulário do redesenho (rótulo pequeno em maiúsculas, campo branco, raio 18px,
     fonte de 16px pra não dar zoom no iOS). Usado por textarea/inputs novos; não altera os
     campos antigos até as telas de login serem refeitas. ===== */
  .campo-rotulo{display:block;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-sec);margin-bottom:8px;}
  .campo-jf{width:100%;border:1px solid var(--blush-6);border-radius:18px;padding:16px 18px;font-size:16px;line-height:1.5;font-family:'Montserrat',sans-serif;color:var(--vinho);background:var(--superficie);}
  .campo-jf:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px rgba(160,63,80,.14);}

  /* ===== Preciso de ajuda ===== */
  .ajuda-pagina{max-width:640px;}
  .ajuda-titulo{margin:12px 0 14px;font-size:48px;}
  .ajuda-apoio{font-size:14.5px;line-height:1.7;color:var(--texto-sec);margin:0 0 26px;}
  .ajuda-card{padding:26px;}
  .ajuda-contador{font-size:12px;color:var(--texto3);text-align:right;margin:8px 0 18px;}
  .ajuda-erro{font-size:12px;color:var(--vermelho-tx);margin:0 0 14px;}
  .ajuda-enviada{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.6;color:var(--vinho);margin:0 0 18px;}
  @media (max-width:860px){.ajuda-titulo{font-size:40px;}}

  /* ===== FAQ da tentante: acabamento do redesenho ===== */
  .faq-tentante{max-width:1080px;}
  .faq-tentante .faq-abertura{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--blush-2),var(--blush-3));border:1px solid var(--blush-4);border-radius:12px 40px 40px 40px;padding:36px 38px;margin-bottom:0;}
  .faq-abertura-dagua{right:24px;bottom:-34px;width:210px;opacity:.14;}
  .faq-tentante .faq-abertura-conteudo{max-width:620px;z-index:1;}
  .faq-tentante .faq-titulo{margin:12px 0 12px;}
  .faq-tentante .faq-subtitulo{font-size:14.5px;line-height:1.7;color:var(--texto-sec);margin:0 0 22px;}
  .faq-tentante .faq-busca-caixa{min-height:54px;border-radius:999px;background:var(--superficie);border:1px solid var(--blush-4);padding:0 20px;gap:10px;}
  .faq-tentante .faq-busca-caixa:focus-within{border-color:var(--rose);}
  .faq-tentante .faq-busca-caixa svg{color:var(--rose);}
  .faq-tentante .faq-busca-caixa input{font-size:16px;color:var(--vinho);}
  .faq-tentante .faq-busca-caixa input::placeholder{color:var(--texto3);opacity:1;}
  .faq-tentante .faq-limpar-x{min-width:44px;min-height:44px;}
  .faq-tentante .faq-aviso{display:flex;gap:10px;align-items:flex-start;margin-top:16px;background:transparent;border:0;padding:0;}
  .faq-tentante .faq-aviso svg{color:var(--rose);margin-top:2px;}
  .faq-tentante .faq-aviso p{font-size:12.5px;line-height:1.55;color:var(--texto-sec);}
  .faq-tentante .faq-tema-cabecalho{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:52px 0 20px;}
  .faq-tentante .faq-tema-titulo{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:32px;line-height:1.1;color:var(--rose);}
  .faq-tentante .faq-momento{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
  .faq-momento-rotulo{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-sec);}
  .faq-momento-pilulas{display:flex;gap:8px;flex-wrap:wrap;}
  .faq-momento-pilula{min-height:44px;padding:0 18px;border-radius:999px;background:var(--superficie);border:1px solid var(--blush-4);color:var(--vinho);font-size:13px;font-weight:600;}
  .faq-momento-pilula:hover{border-color:var(--rose);}
  .faq-momento-pilula.ativa{background:var(--vinho);border-color:var(--vinho);color:var(--offwhite);}
  .faq-momento-pilula:focus-visible{outline:2px solid var(--rose);outline-offset:3px;}
  .faq-tentante .faq-categorias{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
  .faq-tentante .faq-cat-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:20px;border-radius:26px;background:var(--superficie);border:1px solid var(--blush-4);box-shadow:var(--sombra-card);}
  .faq-tentante .faq-cat-card:hover{border-color:var(--rose);}
  .faq-tentante .faq-cat-card.ativa{border:1.5px solid var(--rose);background:var(--blush-2);}
  .faq-tentante .faq-cat-card:focus-visible{outline:2px solid var(--rose);outline-offset:3px;}
  .faq-tentante .faq-cat-icone{width:42px;height:42px;border-radius:50%;background:var(--blush-3);color:var(--rose);display:inline-flex;align-items:center;justify-content:center;}
  .faq-tentante .faq-cat-icone svg{width:20px;height:20px;}
  .faq-tentante .faq-cat-card.ativa .faq-cat-icone{background:var(--superficie);}
  .faq-tentante .faq-cat-nome{font-family:'Playfair Display',serif;font-weight:500;font-size:16px;line-height:1.3;color:var(--vinho);}
  .faq-tentante .faq-cat-contagem{font-size:12.5px;color:var(--texto-sec);}
  .faq-tentante .faq-contagem{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:32px;line-height:1.1;color:var(--rose);margin:52px 0 18px;min-height:0;}
  .faq-tentante .faq-contagem:empty{display:none;}
  .faq-tentante .faq-lista{gap:12px;}
  .faq-tentante .faq-pergunta{background:var(--superficie);border:1px solid var(--blush-4);border-radius:22px;box-shadow:var(--sombra-card);}
  .faq-tentante .faq-pergunta summary{min-height:60px;padding:16px 22px;font-size:15px;font-weight:500;color:var(--vinho);}
  .faq-tentante .faq-pergunta:hover summary{color:var(--rose);}
  .faq-tentante .faq-pergunta summary:focus-visible{outline:2px solid var(--rose);outline-offset:-2px;border-radius:22px;}
  .faq-tentante .faq-chevron-aro{background:var(--blush-3);}
  .faq-tentante .faq-chevron{color:var(--rose);}
  .faq-tentante .faq-pergunta[open] .faq-chevron-aro{background:var(--rose);}
  .faq-tentante .faq-pergunta[open] .faq-chevron{color:var(--offwhite);}
  .faq-tentante .faq-resposta{padding:0 22px 22px;}
  .faq-tentante .faq-resposta p{font-size:14.5px;line-height:1.7;color:var(--texto-sec);}
  .faq-tentante .faq-resposta-lead{color:var(--vinho);}
  .faq-tentante .faq-link-relacionado{color:var(--rose);font-weight:600;}
  .faq-tentante .faq-ver-todas{margin-top:18px;min-height:50px;padding:0 26px;border-radius:999px;border:1.5px solid var(--rose);color:var(--rose);background:transparent;font-weight:600;text-decoration:none;}
  .faq-tentante .faq-ver-todas:hover{background:var(--blush-2);text-decoration:none;}
  .faq-tentante .faq-ver-todas:focus-visible{outline:2px solid var(--rose);outline-offset:3px;}
  .faq-citacao{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:26px;line-height:1.35;color:var(--rose);max-width:780px;margin:64px auto 0;text-align:center;}
  .faq-faixa{margin-top:36px;}
  @media (max-width:1080px){.faq-tentante .faq-categorias{grid-template-columns:repeat(3,minmax(0,1fr));}}
  @media (max-width:860px){
    .faq-tentante .faq-abertura{padding:28px 22px;}
    .faq-abertura-dagua{width:150px;right:-10px;bottom:-24px;}
    .faq-tentante .faq-tema-cabecalho{margin-top:44px;}
    .faq-tentante .faq-tema-titulo,.faq-tentante .faq-contagem{font-size:28px;}
    .faq-tentante .faq-contagem{margin-top:44px;}
    .faq-tentante .faq-pergunta summary{padding:14px 18px;}
    .faq-citacao{font-size:22px;margin-top:48px;}
  }
  @media (max-width:600px){.faq-tentante .faq-categorias{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.faq-tentante .faq-cat-card{padding:16px;}}

  /* ===== Lote 4: Mapa da Mulher (venda), Método FEMME e Conheça a sua nutri ===== */
  a.btn-primary,a.btn-secondary{text-decoration:none;}
  .secao > .titulo-secao{margin-bottom:18px;}
  .femme-hero h2.femme-h3{font-size:19px;line-height:1.3;margin:0 0 12px;}
  .eyebrow-claro{color:#F8E3DE;}
  /* Menu do nome na folha "Mais" (celular): "Ver perfil" e "Sair" saem daqui */
  .painel-mais-rodape{position:relative;}
  .painel-mais-conta{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 8px 0 2px;background:transparent;color:var(--vinho);font-size:13.5px;font-weight:500;border-radius:999px;}
  .painel-mais-conta:focus-visible{outline:2px solid var(--rose);outline-offset:2px;}
  .painel-mais-conta-menu{position:absolute;left:0;bottom:calc(100% + 6px);min-width:210px;background:var(--superficie);border:1px solid var(--blush-4);border-radius:20px;box-shadow:0 12px 32px rgba(89,27,32,.16);padding:6px;display:flex;flex-direction:column;gap:2px;}
  .painel-mais-conta-item{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:0 14px;border-radius:14px;background:transparent;color:var(--vinho);font-size:14px;text-align:left;}
  .painel-mais-conta-item:hover{background:var(--blush-2);}
  .painel-mais-conta-item:focus-visible{outline:2px solid var(--rose);outline-offset:-2px;}

  /* --- Mapa da Mulher: abertura escura (a ÚNICA do app) e o resto claro --- */
  .mapa-venda{max-width:1080px;}
  .mapa-abertura{position:relative;border-radius:40px 40px 40px 14px;padding:34px;color:#FAFAF9;
    background:radial-gradient(80% 45% at 85% 0%,rgba(217,112,74,.45),transparent 62%),radial-gradient(70% 40% at 0% 100%,rgba(160,63,80,.55),transparent 65%),#591B20;}
  .mapa-voltar{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:rgba(250,250,249,.14);color:#FAFAF9;transform:rotate(180deg);}
  .mapa-voltar:focus-visible{outline:2px solid #FAFAF9;outline-offset:3px;}
  .mapa-abertura-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:center;margin-top:6px;}
  .mapa-titulo{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:64px;line-height:1;color:#F8E6E1;margin:14px 0 0;}
  .mapa-frase{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:26px;line-height:1.25;color:#F8E3DE;margin:16px 0 28px;max-width:460px;}
  .mapa-abertura-acoes{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
  .mapa-abertura .btn-claro{background:#FAFAF9;color:#591B20;}
  .mapa-abertura .btn-claro::after{background-color:#591B20;}
  .mapa-micro{font-size:12.5px;color:#F8E3DE;margin:0;}
  .mapa-link-compra{font-size:13px;color:#FAFAF9;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;}
  .mapa-link-compra:focus-visible{outline:2px solid #FAFAF9;outline-offset:3px;border-radius:4px;}
  .mapa-abertura-teia{display:flex;align-items:center;justify-content:center;}
  .mapa-teia-ilustracao{width:100%;max-width:320px;height:auto;display:block;}
  .mapa-secao .titulo-secao{margin-bottom:18px;}
  .mapa-texto-coluna{max-width:640px;}
  .mapa-texto-coluna p,.mapa-texto-coluna-p{font-size:15px;line-height:1.75;color:var(--texto-sec);margin:0 0 14px;}
  .mapa-texto-coluna-p{max-width:640px;margin-bottom:20px;}
  .mapa-texto-coluna .mapa-gancho{font-weight:500;color:var(--rose);}
  .mapa-pilar{padding:22px;}
  .mapa-pilar-num{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--blush-3);color:var(--rose);font-family:'Playfair Display',serif;font-size:16px;margin-bottom:12px;}
  .mapa-pilar-meta{font-size:12.5px;color:var(--texto3);margin:6px 0 0;}
  .mapa-card-texto{font-size:14px;line-height:1.65;color:var(--texto-sec);margin:8px 0 0;}
  .mapa-recebe .card{padding:22px;}
  .mapa-passos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;max-width:680px;}
  .mapa-passos li{display:flex;gap:16px;align-items:flex-start;}
  .mapa-passo-num{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--rose);color:#FAFAF9;display:inline-flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:17px;}
  .mapa-preco-card{max-width:560px;margin:0 auto;text-align:center;border-radius:12px 40px 40px 40px;padding:30px 28px;background:linear-gradient(160deg,var(--blush-2),var(--blush-3));border:1px solid var(--blush-4);}
  .mapa-preco-valor{font-family:'Playfair Display',serif;font-weight:500;font-size:40px;line-height:1.1;color:var(--vinho);margin:0 0 4px;}
  .mapa-preco-legenda{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-sec);margin:0 0 18px;}
  .mapa-preco-nota{font-size:12.5px;line-height:1.6;color:var(--texto-sec);margin:16px 0 0;}
  .mapa-preco-nota span{color:var(--rose);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-weight:500;}
  .mapa-aviso{text-align:center;font-size:12.5px;line-height:1.6;color:var(--texto3);max-width:560px;margin:22px auto 0;}
  .mapa-amostra-oferta-card.mapa-preco-card{max-width:860px;padding:34px;text-align:left;}
  .mapa-amostra-oferta-card .mapa-preco-valor,.mapa-amostra-oferta-card .mapa-preco-legenda{text-align:center;}
  .mapa-quiz{max-width:640px;}
  .mapa-quiz-pergunta{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:32px;line-height:1.15;color:var(--rose);margin:0 0 24px;max-width:560px;}
  .mapa-quiz-voltar{background:transparent;color:var(--texto-sec);font-size:13px;font-weight:500;min-height:44px;padding:0 4px;text-decoration:underline;text-underline-offset:3px;}
  .mapa-compra{max-width:620px;}
  @media (max-width:1080px){.mapa-abertura-grid{grid-template-columns:1fr;}.mapa-abertura-teia{order:2;}}
  @media (max-width:860px){
    .mapa-abertura{padding:26px 22px;}
    .mapa-titulo{font-size:44px;}
    .mapa-frase{font-size:22px;}
    .mapa-quiz-pergunta{font-size:28px;}
    .mapa-abertura .btn-claro{width:100%;}
  }

  /* --- Método FEMME --- */
  .femme-pagina{max-width:1080px;}
  .femme-hero{margin-bottom:0;}
  .femme-hero-titulo{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:44px;line-height:1.1;color:var(--rose);margin:14px 0 18px;max-width:780px;}
  .femme-lead{font-size:15px;line-height:1.75;color:var(--texto-sec);max-width:680px;}
  .femme-beneficios li{border-left-color:var(--blush-6);}
  .femme-beneficios strong{color:var(--vinho);}
  .femme-beneficios span{color:var(--texto-sec);}
  .femme-micro{font-size:12.5px;color:var(--texto3);}
  .femme-partida{margin-top:30px;background:var(--blush-2);border-color:var(--blush-4);box-shadow:none;border-radius:12px 32px 32px 32px;}
  .femme-partida:hover{transform:none;box-shadow:none;}
  .femme-texto,.femme-texto-menor{color:var(--texto-sec);}
  .femme-texto-menor{font-size:14px;line-height:1.65;}
  .femme-nota{font-size:13px;color:var(--texto3);max-width:760px;}
  .femme-linha-tempo{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;position:relative;}
  .femme-linha-tempo li{display:flex;gap:14px;align-items:flex-start;}
  .femme-lt-num{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--rose);color:#FAFAF9;display:inline-flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:17px;}
  .femme-linha-nota{font-size:14px;line-height:1.65;color:var(--texto-sec);margin:0 0 22px;max-width:760px;}
  .femme-incluso-linhas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
  .femme-incluso-linhas .femme-card{padding:20px;border-radius:26px;}
  .femme-carrossel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 16px;margin:0 0 22px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
  .femme-carrossel:focus-visible{outline:2px solid var(--rose);outline-offset:3px;border-radius:12px;}
  .femme-app-tela{flex:0 0 auto;width:auto;max-width:none;height:420px;border-radius:26px;scroll-snap-align:start;background:var(--blush-2);box-shadow:var(--sombra-card);}
  .femme-legenda-exemplo{font-size:12px;font-style:italic;color:var(--texto3);margin:-6px 0 20px;}
  .femme-app-destaques{margin-bottom:16px;}
  .femme-etiquetas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px;}
  .femme-lista-check li{color:var(--texto-sec);}
  .femme-etapa-num{font-family:var(--fonte-destaque);font-style:italic;font-size:30px;color:var(--rose);margin:0 0 6px;line-height:1;}
  .femme-suplemento-nota{margin-top:20px;}
  .femme-suplemento-nota:hover{transform:none;box-shadow:none;border-color:var(--blush-4);}
  .femme-faq-lista{max-width:820px;}
  .femme-faq-item{border-bottom:1px solid var(--blush-4);}
  .femme-faq-item summary{position:relative;min-height:56px;display:flex;align-items:center;padding:14px 36px 14px 0;font-family:'Playfair Display',serif;font-size:17px;font-weight:500;line-height:1.35;color:var(--vinho);cursor:pointer;}
  .femme-faq-item summary:focus-visible{outline:2px solid var(--rose);outline-offset:2px;border-radius:6px;}
  .femme-faq-item summary::after{top:50%;transform:translateY(-50%);color:var(--rose);}
  .femme-faq-resposta{padding:0 36px 20px 0;font-size:14.5px;line-height:1.7;color:var(--texto-sec);}
  .femme-faq-extra{display:none;}
  .femme-faq-todas{margin-top:20px;}
  .femme-escada{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;max-width:720px;}
  .femme-escada li{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:22px;background:var(--superficie);border:1px solid var(--blush-4);}
  .femme-escada li.aqui{border:1.5px solid var(--rose);background:var(--blush-2);}
  .femme-escada li > div{display:flex;flex-direction:column;gap:4px;}
  .femme-escada strong{font-size:14.5px;color:var(--vinho);display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .femme-escada span:not(.femme-progressao-num):not(.chip){font-size:13.5px;line-height:1.6;color:var(--texto-sec);}
  .femme-aqui{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--rose);background:var(--blush-3);}
  .femme-fechamento .femme-faixa{margin-top:0;}
  .femme-faixa .femme-cta-final-btn{width:auto;max-width:100%;height:auto;min-height:46px;background:#FAFAF9;color:#591B20;padding:6px 8px 6px 22px;white-space:nowrap;gap:10px;}
  .femme-faixa .femme-cta-final-btn::after{background-color:#591B20;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23FAFAF9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4'/%3E%3C/svg%3E");}
  .femme-fechamento .femme-cta-final-micro,.femme-fechamento .femme-cta-aviso{margin-left:0;margin-right:0;max-width:760px;width:100%;text-align:left;}
  .femme-fechamento .femme-cta-final-micro{margin-top:14px;font-size:12.5px;color:var(--texto3);}
  .femme-fechamento .femme-cta-aviso{font-size:13px;color:var(--texto-sec);}
  @media (max-width:1080px){.femme-incluso-linhas{grid-template-columns:repeat(2,minmax(0,1fr));}}
  @media (max-width:860px){
    .femme-hero-titulo{font-size:34px;}
    .femme-linha-tempo{grid-template-columns:1fr;gap:14px;}
    .femme-incluso-linhas{grid-template-columns:1fr;}
    .femme-app-tela{height:360px;}
    .femme-faixa .femme-cta-final-btn{width:100%;justify-content:space-between;white-space:normal;text-align:left;}
    .femme-faixa .femme-cta-final-btn > span{flex:1;min-width:0;}
  }

  /* --- Conheça a sua nutri --- */
  .nutri-pagina{max-width:1080px;}
  .nutri-abertura{position:relative;overflow:hidden;display:flex;align-items:center;gap:40px;background:linear-gradient(160deg,var(--blush-2),var(--blush-3));border:1px solid var(--blush-4);border-radius:12px 40px 40px 40px;padding:36px;}
  .nutri-arco{flex:0 0 250px;width:250px;height:320px;border-radius:999px 999px 30px 30px;background:linear-gradient(170deg,var(--blush-heroi-a),var(--blush-heroi-b));display:flex;align-items:center;justify-content:center;box-shadow:var(--sombra-card);position:relative;z-index:1;}
  .nutri-arco > span{opacity:.55;}
  .nutri-abertura-texto{position:relative;z-index:1;min-width:0;}
  .nutri-nome{font-family:'Playfair Display',serif;font-weight:500;font-size:44px;line-height:1.1;color:var(--vinho);margin:14px 0 10px;}
  .nutri-nome em{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:60px;line-height:1;color:var(--rose);}
  .nutri-especialidade{font-size:15px;line-height:1.6;color:var(--texto-sec);margin:0;}
  .nutri-dagua{right:18px;bottom:-30px;width:230px;opacity:.12;}
  .nutri-formacao{max-width:760px;padding:24px;}
  .nutri-lista{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;}
  .nutri-lista li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;line-height:1.6;color:var(--texto-sec);}
  .nutri-lista li > span:first-child{margin-top:5px;flex-shrink:0;}
  .nutri-livro{padding:22px;}
  .nutri-livro .titulo-card{margin:10px 0 8px;}
  .nutri-bloom{background:var(--vinho);border-radius:12px 30px 30px 30px;padding:22px 26px;color:#FAFAF9;}
  .nutri-bloom-titulo{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:38px;line-height:1.05;color:#F8E6E1;margin:10px 0 8px;}
  .nutri-bloom-texto{font-size:13px;line-height:1.6;color:#F8E3DE;margin:0 0 16px;}
  .nutri-bloom .btn-claro{background:#FAFAF9;color:#591B20;}
  .nutri-bloom .btn-claro::after{background-color:#591B20;}
  @media (max-width:860px){
    .nutri-abertura{flex-direction:column;align-items:flex-start;gap:24px;padding:26px 22px;}
    .nutri-dagua{width:170px;right:-24px;bottom:-24px;}
    .nutri-nome{font-size:34px;}
    .nutri-nome em{font-size:46px;}
  }

  /* ===== Lote 5: abertura (splash), onboarding e telas de acesso ===== */
  #jf-splash{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;
    background:radial-gradient(70% 50% at 50% 38%,rgba(217,112,74,.30),transparent 70%),var(--pagina-bg);background-color:var(--creme);
    transition:opacity .45s ease;animation:jfSplashSai .01s 10s forwards;}
  #jf-splash.saindo{opacity:0;pointer-events:none;}
  @keyframes jfSplashSai{to{opacity:0;visibility:hidden;}}
  .jf-splash-logo{position:relative;width:170px;height:196px;}
  .jf-splash-traco{position:absolute;inset:0;transition:opacity .5s ease;}
  .jf-splash-traco svg{position:absolute;inset:0;width:100%;height:100%;max-width:none;}
  .jf-splash-cheio{position:absolute;inset:0;width:100%;height:100%;max-width:none;opacity:0;transition:opacity .5s ease;}
  #jf-splash.completo .jf-splash-cheio{opacity:1;}
  #jf-splash.completo .jf-splash-traco{opacity:0;}
  .jf-splash-marca{display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;transform:translateY(6px);transition:opacity .5s .2s ease,transform .5s .2s ease;}
  #jf-splash.completo .jf-splash-marca{opacity:1;transform:none;}
  .jf-splash-tag{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:19px;color:var(--rose);margin:0;text-align:center;padding:0 24px;}
  @media (prefers-reduced-motion: reduce){#jf-splash,.jf-splash-cheio,.jf-splash-traco,.jf-splash-marca{transition:none;}}

  /* onboarding: coluna central de até 560px */
  .onb-pagina{max-width:560px;margin:0 auto;padding:40px 24px calc(80px + env(safe-area-inset-bottom,0px));}
  .onb-lockup{display:flex;justify-content:center;}
  .onb-topo{display:flex;align-items:center;gap:14px;margin-bottom:36px;}
  .onb-voltar,.onb-voltar-vazio{flex:0 0 48px;width:48px;height:48px;border-radius:50%;}
  .onb-voltar{display:inline-flex;align-items:center;justify-content:center;background:var(--blush-3);color:var(--vinho);transform:rotate(180deg);}
  .onb-voltar:focus-visible{outline:2px solid var(--rose);outline-offset:3px;}
  .onb-progresso{flex:1;height:4px;border-radius:4px;background:var(--blush-6);overflow:hidden;}
  .onb-progresso span{display:block;height:100%;background:var(--rose);border-radius:4px;transition:width .3s ease;}
  .onb-contador{font-size:10.5px;font-weight:600;letter-spacing:.18em;color:var(--eyebrow);white-space:nowrap;}
  .onb-pergunta{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:34px;line-height:1.15;color:var(--rose);margin:12px 0 28px;}
  .onb-chips{display:flex;flex-wrap:wrap;gap:10px;}
  .onb-chip{min-height:48px;padding:0 20px;border-radius:999px;border:1px solid var(--blush-6);background:var(--superficie);color:var(--vinho);font-size:14px;font-weight:500;line-height:1.3;text-align:left;}
  .onb-chip:hover{border-color:var(--rose);}
  .onb-chip.sel{border:1.5px solid var(--rose);background:var(--blush-2);}
  .onb-chip.sel::before{content:'✓';margin-right:8px;color:var(--rose);font-weight:700;}
  .onb-chip:focus-visible{outline:2px solid var(--rose);outline-offset:2px;}
  .onb-acoes{display:flex;flex-direction:column;gap:6px;margin-top:30px;}
  .onb-acoes .btn-primary{width:100%;}
  .onb-pular{min-height:48px;background:transparent;color:var(--texto-sec);font-size:13px;font-weight:500;text-decoration:underline;text-underline-offset:3px;}
  .onb-pular:focus-visible{outline:2px solid var(--rose);outline-offset:2px;border-radius:8px;}
  .onb-texto{font-size:15px;line-height:1.75;color:var(--texto-sec);margin:0 0 16px;}
  .onb-micro{font-size:12px;color:var(--texto3);margin:14px 0 0;}
  .onb-boasvindas-topo{border-radius:40px 40px 40px 12px;padding:34px 28px 38px;text-align:center;margin-bottom:34px;
    background:radial-gradient(90% 70% at 100% 0%,rgba(217,112,74,.38),transparent 62%),linear-gradient(155deg,var(--blush-heroi-a),var(--blush-heroi-b));}
  .onb-boasvindas-titulo{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:44px;line-height:1.05;color:var(--rose);margin:26px 0 14px;}
  .onb-boasvindas-saudacao{font-family:'Playfair Display',serif;font-weight:500;font-size:19px;line-height:1.35;color:var(--vinho);margin:0;}
  .onb-card{padding:24px;margin:8px 0 22px;}
  .onb-boasvindas-acao{text-align:center;margin-top:30px;}
  .onb-boasvindas-acao .btn-primary{width:100%;}
  .onb-final{text-align:center;}
  .onb-assinatura{display:block;margin:26px auto 6px;max-width:none;height:auto;}
  .onb-final-titulo{font-size:44px;margin:10px 0 14px;}
  .onb-resumo{text-align:left;margin:22px 0 26px;padding:6px 22px;}
  .onb-resumo ul{list-style:none;margin:0;padding:0;}
  .onb-resumo li{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--blush-4);}
  .onb-resumo li:last-child{border-bottom:none;}
  .onb-resumo-rotulo{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--eyebrow);flex-shrink:0;}
  .onb-resumo-valor{font-size:14px;line-height:1.5;color:var(--vinho);text-align:right;}
  .onb-final .btn-primary{width:100%;}
  @media (max-width:860px){
    .onb-pergunta{font-size:30px;}
    .onb-boasvindas-titulo{font-size:34px;}
    .onb-final-titulo{font-size:40px;}
  }

  /* acesso: tela dividida no desktop, topo compacto no celular */
  .auth-pagina{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;min-height:100dvh;}
  .auth-marca{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:40px 48px;
    background:radial-gradient(90% 70% at 100% 0%,rgba(217,112,74,.38),transparent 62%),linear-gradient(155deg,var(--blush-heroi-a),var(--blush-heroi-b));}
  .auth-marca-topo{position:relative;z-index:1;}
  .auth-marca-frase{position:relative;z-index:1;font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:44px;line-height:1.1;color:var(--rose);margin:0;max-width:420px;}
  .auth-marca-dagua{right:44px;bottom:88px;width:230px;opacity:.15;}
  .auth-marca-url{position:relative;z-index:1;font-size:10.5px;font-weight:600;letter-spacing:.22em;color:var(--eyebrow);margin:0;}
  .auth-form-col{display:flex;align-items:center;justify-content:center;padding:40px 24px;}
  .auth-form{width:100%;max-width:420px;}
  .auth-titulo{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:44px;line-height:1.05;color:var(--rose);margin:0 0 10px;}
  .auth-apoio{font-size:14.5px;line-height:1.65;color:var(--texto-sec);margin:0 0 26px;}
  .auth-previa{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);background:var(--blush-3);padding:6px 12px;border-radius:999px;margin:0 0 18px;}
  .auth-campo-grupo{margin-bottom:18px;}
  .auth-campo{width:100%;height:56px;padding:0 18px;border:1px solid var(--blush-6);border-radius:18px;background:var(--superficie);font-size:16px;font-family:'Montserrat',sans-serif;color:var(--vinho);}
  .auth-campo:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px rgba(160,63,80,.14);}
  .auth-campo[readonly]{background:var(--blush-2);color:var(--texto-sec);}
  .auth-campo-senha{position:relative;}
  .auth-campo-senha .auth-campo{padding-right:56px;}
  .auth-olho{position:absolute;right:4px;top:4px;width:48px;height:48px;border-radius:14px;background:transparent;color:var(--texto-sec);display:inline-flex;align-items:center;justify-content:center;}
  .auth-olho:hover{color:var(--rose);}
  .auth-olho:focus-visible{outline:2px solid var(--rose);outline-offset:-2px;}
  .auth-dica{font-size:12px;color:var(--texto3);margin:8px 0 0;}
  .auth-erro{font-size:12.5px;line-height:1.5;color:var(--vermelho-tx);margin:0 0 14px;}
  .auth-erro:empty{display:none;}
  .auth-esqueci{margin:-6px 0 18px;text-align:right;}
  .auth-esqueci a,.auth-rodape a{font-size:13px;font-weight:600;color:var(--rose);text-decoration:underline;text-underline-offset:3px;}
  .auth-consentimentos{display:flex;flex-direction:column;gap:14px;margin:6px 0 22px;}
  .auth-check{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.55;color:var(--texto-sec);cursor:pointer;margin-bottom:18px;}
  .auth-consentimentos .auth-check{margin-bottom:0;}
  .auth-check input{flex-shrink:0;width:22px;height:22px;margin-top:0;accent-color:var(--rose);cursor:pointer;}
  .auth-check a{color:var(--rose);font-weight:500;}
  .auth-link-botao{display:inline;background:none;padding:0;font:inherit;font-weight:500;color:var(--rose);text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left;}
  .auth-link-botao:focus-visible{outline:2px solid var(--rose);outline-offset:2px;border-radius:4px;}
  .auth-termo-texto{background:var(--blush-2);border:1px solid var(--blush-4);border-radius:18px;padding:14px 16px;margin-bottom:14px;max-height:160px;overflow-y:auto;white-space:pre-line;font-size:12px;color:var(--texto-sec);line-height:1.6;}
  .auth-botao{width:100%;}
  a.auth-botao{text-align:center;display:inline-flex;align-items:center;justify-content:center;}
  .auth-aviso a{color:var(--rose);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
  .auth-aviso{font-size:12.5px;line-height:1.6;color:var(--texto-sec);text-align:center;margin:18px 0 0;}
  .auth-confirmacao{font-size:13.5px;line-height:1.6;color:var(--vinho);background:var(--blush-2);border:1px solid var(--blush-4);border-radius:18px;padding:14px 16px;margin:0 0 16px;}
  .auth-rodape{text-align:center;margin:20px 0 0;}
  @media (max-width:860px){
    .auth-pagina{grid-template-columns:1fr;grid-template-rows:auto 1fr;}
    .auth-marca{padding:16px 20px;flex-direction:row;align-items:center;border-radius:0 0 28px 28px;}
    .auth-marca-frase,.auth-marca-dagua,.auth-marca-url{display:none;}
    .auth-form-col{align-items:flex-start;padding:28px 20px 48px;}
    .auth-titulo{font-size:40px;}
  }

  /* ===== Fase 5 (PWA): acabamento de app instalado ===== */
  select{font-size:16px;font-family:'Montserrat',sans-serif;}
  /* viewport-fit=cover: respeita as áreas seguras (notch, barra do sistema) -- a tab bar e a folha
     "Mais" já somam env(safe-area-inset-bottom); aqui o topo e as laterais. */
  body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);}
  @media (max-width:860px){
    .jf-sidebar{padding-top:calc(14px + env(safe-area-inset-top,0px))!important;}
    .auth-marca{padding-top:calc(16px + env(safe-area-inset-top,0px));}
    .onb-pagina{padding-top:calc(40px + env(safe-area-inset-top,0px));}
  }
  /* em app instalado não há barra de endereço: o conteúdo não precisa de folga extra, mas o toque em
     áreas rolantes não deve "puxar" a página inteira pra recarregar sem querer */
  html.modo-app{overscroll-behavior-y:none;}

  /* ===== Fase 6 (Lote 6): abertura do sistema e estados padronizados ===== */
  /* Abertura enquanto o app carrega (antes de qualquer JS): #FAFAF9, JF em vinho centralizado, "JORNADA FÉRTIL"
     e uma linha de carregamento fina. */
  .abertura-sistema{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#FAFAF9;}
  .abertura-jf{display:block;width:58px;height:54px;background-color:#591B20;-webkit-mask-image:url('../assets/brand/jf-monograma.png');mask-image:url('../assets/brand/jf-monograma.png');-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;}
  .abertura-nome{font-family:'Playfair Display',serif;font-size:12px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:#591B20;}
  .abertura-linha{display:block;width:96px;height:2px;border-radius:2px;background:#F0DAD3;overflow:hidden;margin-top:8px;}
  .abertura-linha span{display:block;width:40%;height:100%;border-radius:2px;background:#A03F50;animation:aberturaLinha 1.3s ease-in-out infinite;}
  @keyframes aberturaLinha{0%{transform:translateX(-110%);}100%{transform:translateX(260%);}}
  @media (prefers-reduced-motion: reduce){.abertura-linha span{animation:none;width:100%;opacity:.55;}}

  /* estados: vazio, sem resultado, erro e sem conexão (js/00g-estados.js) */
  .estado{max-width:480px;margin:40px auto;padding:34px 28px;text-align:center;background:var(--superficie);border:1px solid var(--blush-4);border-radius:26px;box-shadow:var(--sombra-card);}
  .estado-pagina{padding:24px 0;}
  .estado-icone{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--blush-3);color:var(--rose);margin-bottom:16px;}
  .estado-selo{margin:0 auto 12px;display:flex;width:max-content;}
  .estado-titulo{font-family:'Playfair Display',serif;font-weight:500;font-size:20px;line-height:1.3;color:var(--vinho);margin:0 0 8px;}
  .estado-texto{font-size:14.5px;line-height:1.65;color:var(--texto-sec);margin:0 0 20px;}
  .estado .btn-primary{margin-top:2px;}
  .estado-busca .no-results-similares,.estado-busca .no-results-hint{text-align:center;}
  /* aviso rápido em pílula */
  .aviso-pilula{position:fixed;left:50%;bottom:calc(104px + env(safe-area-inset-bottom,0px));transform:translate(-50%,8px);z-index:70;max-width:calc(100vw - 32px);padding:12px 22px;border-radius:999px;background:var(--vinho);color:var(--offwhite);font-size:13.5px;font-weight:500;line-height:1.4;box-shadow:0 10px 28px rgba(89,27,32,.25);opacity:0;transition:opacity .22s ease,transform .22s ease;text-align:center;}
  .aviso-pilula.mostrar{opacity:1;transform:translate(-50%,0);}
  .aviso-pilula.aviso-erro{background:var(--tijolo);}
  @media (min-width:861px){.aviso-pilula{bottom:32px;}}
  @media (prefers-reduced-motion: reduce){.aviso-pilula{transition:opacity .2s ease;transform:translate(-50%,0);}}
  /* selo de modo sem conexão */
  .selo-offline{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:75;padding:8px 16px;border-radius:999px;background:var(--blush-3);color:var(--texto-sec);border:1px solid var(--blush-6);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 6px 18px rgba(160,63,80,.12);}
  /* esqueleto genérico (formato do conteúdo, sem área de imagem; pulso suave, desligado com reduced-motion) */
  .sk{border-radius:12px;background:linear-gradient(100deg,var(--blush-2) 30%,var(--blush-4) 50%,var(--blush-2) 70%);background-size:200% 100%;animation:cfSkel 1.4s ease-in-out infinite;}
  .sk-linha{height:12px;margin:0 0 10px;}
  .sk-titulo{height:22px;width:60%;margin:0 0 14px;}
  .sk-card{height:96px;border-radius:26px;}
  @media (prefers-reduced-motion: reduce){.sk{animation:none;}}

  /* ===== Meu ciclo: sinais de hoje em cards com controle segmentado em pílula ===== */
  .ciclo-sinais-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .ciclo-sinal-card{display:flex;flex-direction:column;gap:10px;background:var(--blush-2);border:1px solid var(--blush-4);border-radius:22px;padding:14px 16px;}
  .ciclo-sinal-card .ciclo-nm{font-size:14px;font-weight:500;color:var(--vinho);}
  .ciclo-seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--blush-3);border-radius:999px;padding:4px;}
  .ciclo-seg button{min-height:40px;border-radius:999px;background:transparent;color:var(--texto-sec);font-size:12.5px;font-weight:500;transition:background .15s ease,color .15s ease;}
  .ciclo-seg button:hover{background:rgba(255,255,255,.55);}
  .ciclo-seg button.on{background:var(--rose);color:var(--offwhite);font-weight:600;}
  .ciclo-seg button:focus-visible{outline:2px solid var(--vinho);outline-offset:1px;}
  @media (max-width:600px){.ciclo-sinais-grade{grid-template-columns:1fr;}}

  /* ===== Seção colapsável (js/15b-secao-colapsavel.js): cartão com chevron ===== */
  .secao-col{padding:0;overflow:hidden;margin-bottom:14px;}
  .secao-col-cab{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:64px;padding:16px 22px;background:transparent;text-align:left;cursor:pointer;color:inherit;}
  .secao-col-cab:focus-visible{outline:2px solid var(--rose);outline-offset:-3px;border-radius:26px;}
  .secao-col-textos{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;}
  .secao-col-titulo{font-family:'Playfair Display',serif;font-size:18px;font-weight:500;color:var(--vinho);line-height:1.3;}
  .secao-col-sub{font-size:12.5px;color:var(--texto3);}
  .secao-col-badge{flex-shrink:0;}
  .secao-col-corpo{padding:0 22px 22px;}

  /* ===== Faixa escura compacta (CTA no meio/fim das páginas): padding ~20px 24px, título em
     Cormorant itálico 24-30px, texto 13px, botão de 46px, cantos 12px 30px 30px 30px. Blocos
     escuros grandes ficam só na abertura do Mapa. ===== */
  .faixa-escura{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:var(--vinho);border-radius:12px 30px 30px 30px;padding:20px 24px;color:var(--offwhite);margin-top:40px;}
  .faixa-escura-texto{flex:1;min-width:240px;}
  .faixa-escura-titulo{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:26px;line-height:1.15;color:var(--offwhite);margin:0 0 6px;}
  .faixa-escura-sub{font-size:13px;line-height:1.55;color:var(--blush-3);margin:0;}
  .btn-faixa{min-height:46px;}
  @media (max-width:600px){.faixa-escura-titulo{font-size:24px;}.faixa-escura .btn-primary{width:100%;}}

  /* ===== Meu progresso / Relatório da Jornada (js/22-tela-relatorio.js) ===== */
  .rel-pagina{max-width:1080px;}
  .rel-texto{font-size:14.5px;line-height:1.7;color:var(--texto-sec);margin:0;}
  .rel-prioridade{font-size:15px;color:var(--vinho);margin:12px 0 8px;}
  .rel-identificamos{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border-radius:12px 40px 40px 40px;}
  .rel-identificamos-texto{flex:1;min-width:0;max-width:560px;}
  .rel-identificamos-teia{flex:0 0 190px;width:190px;display:flex;align-items:center;justify-content:center;}
  .rel-identificamos-teia svg{width:100%;height:auto;}
  .rel-secao{margin-top:48px;}
  .rel-h2{margin:0 0 20px;}
  .rel-numero{padding:24px;}
  .rel-numero-valor{font-family:var(--fonte-destaque);font-weight:500;font-size:44px;line-height:1;color:var(--rose);margin:0;}
  .rel-numero-de{font-size:26px;color:var(--texto3);}
  .rel-numero-legenda{font-size:13.5px;line-height:1.5;color:var(--texto-sec);margin:10px 0 0;}
  .rel-gavetas{margin-top:36px;}
  .rel-destaque{margin-top:36px;background:var(--blush-2);border:1px solid var(--blush-4);border-left:4px solid var(--rose);border-radius:12px 30px 30px 12px;padding:22px 26px;}
  .rel-destaque-texto{font-size:14.5px;line-height:1.7;color:var(--texto-sec);margin:12px 0 0;max-width:760px;}
  @media (max-width:860px){
    .rel-identificamos{flex-direction:column-reverse;align-items:flex-start;padding:24px 22px;}
    .rel-identificamos-teia{flex-basis:auto;width:160px;}
    .rel-secao{margin-top:40px;}
  }

  /* ===== Minhas respostas: acabamento do redesenho (vale sobre o bloco .respostas-jornada abaixo) ===== */
  .respostas-jornada{max-width:1080px;}
  .respostas-jornada .resp-abertura{background:transparent;border:0;padding:0;margin-bottom:34px;border-radius:0;}
  .respostas-jornada .resp-abertura .eyebrow{margin-bottom:12px;}
  .respostas-jornada .resp-titulo{margin-bottom:12px;}
  .respostas-jornada .resp-subtitulo{font-size:14.5px;color:var(--texto-sec);max-width:600px;margin:0 0 10px;}
  .respostas-jornada .resp-nota{font-size:12.5px;color:var(--texto3);opacity:1;}
  .respostas-jornada .resp-secao-titulo{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:32px;line-height:1.1;color:var(--rose);margin:0 0 18px;}
  .respostas-jornada .resp-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:44px;}
  .respostas-jornada .resp-card{background:var(--superficie);border:1px solid var(--blush-4);border-radius:26px;padding:22px;box-shadow:var(--sombra-card);}
  .respostas-jornada .resp-card:hover{border-color:var(--rose);}
  .respostas-jornada .resp-card.ativa{border:1.5px solid var(--rose);background:var(--superficie);}
  .respostas-jornada .resp-card:focus-visible{outline:2px solid var(--rose);outline-offset:2px;}
  .respostas-jornada .resp-card-indicador{background:var(--rose);}
  .respostas-jornada .resp-card-icone{background:var(--blush-2);color:var(--rose);width:40px;height:40px;}
  .respostas-jornada .resp-card.ativa .resp-card-icone{background:var(--blush-3);}
  .respostas-jornada .resp-card-nome{font-family:'Playfair Display',serif;font-weight:500;font-size:18px;color:var(--vinho);}
  .respostas-jornada .resp-card-progresso{font-size:13px;color:var(--texto-sec);line-height:1.5;}
  .respostas-jornada .resp-card-status{font-size:10.5px;letter-spacing:.16em;padding:4px 10px;border-radius:999px;align-self:flex-start;}
  .respostas-jornada .resp-card-status.andamento{background:var(--blush-3);color:var(--vinho);}
  .respostas-jornada .resp-card-status.concluido{background:var(--rose);color:var(--offwhite);}
  .respostas-jornada .resp-card-bloqueado{display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-align:left;background:var(--blush-2);box-shadow:none;}
  .respostas-jornada .resp-card-bloqueado .resp-card-icone{background:var(--superficie);}
  .respostas-jornada .btn-ver-mapa{min-height:46px;margin-top:6px;}
  .respostas-jornada .resp-q-nome{font-family:'Playfair Display',serif;font-weight:500;font-size:22px;margin:0 0 8px;}
  .respostas-jornada .resp-linha,.respostas-jornada .resp-editando{border:1px solid var(--blush-4);border-radius:22px;background:var(--superficie);padding:18px 20px;}
  .respostas-jornada .resp-linha.vazia{border:1.5px dashed var(--terracota);background:var(--blush-2);align-items:center;}
  .respostas-jornada .resp-pergunta{font-size:12.5px;color:var(--texto3);}
  .respostas-jornada .resp-resposta{font-size:14.5px;color:var(--vinho);}
  .respostas-jornada .resp-sem-resposta{font-weight:400;color:var(--texto3);font-style:italic;}
  .respostas-jornada .resp-chip{background:var(--blush-3);color:var(--vinho);border-radius:999px;}
  .respostas-jornada .resp-editar-btn{border-color:var(--blush-6);color:var(--rose);min-width:44px;min-height:44px;}
  .respostas-jornada .resp-editar-btn:hover,.respostas-jornada .resp-editar-btn:focus-visible{border-color:var(--rose);color:var(--rose);}
  .respostas-jornada .resp-expandir-btn{min-width:44px;min-height:44px;}
  .respostas-jornada .resp-responder-btn{flex-shrink:0;min-height:44px;padding:0 22px;border-radius:999px;background:var(--vinho);color:var(--offwhite);font-size:13px;font-weight:600;}
  .respostas-jornada .resp-responder-btn:focus-visible{outline:2px solid var(--rose);outline-offset:3px;}
  @media (max-width:860px){
    .respostas-jornada .resp-secao-titulo{font-size:28px;}
    .respostas-jornada .resp-grid{grid-template-columns:1fr;}
    .respostas-jornada .resp-linha.vazia{flex-direction:column;align-items:stretch;}
    .respostas-jornada .resp-responder-btn{align-self:flex-start;}
  }

  /* ===== Amostra do Mapa da Mulher (js/16-tela-mapa-bloqueado-compra.js, viewAmostraResultado) =====
     Composição editorial de coluna única, não um grid de duas colunas: essa foi uma correção
     de uma tentativa anterior que espalhou o conteúdo num layout tipo dashboard -- desfeita a
     pedido explícito. O que precisava de ajuste era só a largura do wrapper do shell() (que
     travava em 900px sem nunca passar opts.maxWidth) e o ritmo vertical entre os blocos; o
     conteúdo, a identidade e a ordem narrativa (introdução -> gráfico -> legenda -> transição
     -> card) continuam exatamente como sempre foram. */
  .mapa-amostra-intro{max-width:760px;margin:0;}
  .mapa-amostra-grafico-bloco{display:flex;justify-content:center;margin:0 0 12px;}
  .mapa-amostra-legenda{text-align:center;margin:0 0 40px;}
  .mapa-amostra-transicao{max-width:760px;margin:0 auto 40px;}
  /* Card simplificado (pedido: menos denso, menos persuasivo) -- altura passa a ser
     consequência de ter menos conteúdo (3 linhas curtas em vez de 4 bullets longos, sem a
     frase de urgência abaixo do botão), não de um padding grande. Degradê discreto entre
     dois tons já claros (--marfim/--nude), sem o terceiro estágio laranja mais forte que
     existia antes. Card é o último bloco da página (o aviso final debaixo dele foi removido
     por duplicar a mensagem que já mora dentro do card) -- por isso a margem inferior carrega
     sozinha o espaço mínimo de 64px depois do último bloco. */
  .mapa-amostra-oferta-card{max-width:860px;margin:0 auto 64px;padding:40px;}
  .mapa-amostra-entregas{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:9px;}
  .mapa-amostra-entregas li{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--vinho);line-height:1.5;}
  .mapa-amostra-cta{width:340px;max-width:100%;}
  @media (max-width:480px){
    .mapa-amostra-oferta-card{padding:24px;}
    .mapa-amostra-cta{width:100%;}
  }

  /* ===== Lote 7: seis frentes do Mapa, dentro de um módulo, amostra do Mapa ===== */
  /* Página de venda: seis cartões (ícone e nome da frente) */
  .mapa-frentes{grid-template-columns:repeat(3,minmax(0,1fr));}
  .mapa-frente{padding:20px 22px;display:flex;align-items:center;gap:14px;}
  .mapa-frente .titulo-card{margin:0;}
  .mapa-frente-icone{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:var(--blush-3);display:inline-flex;align-items:center;justify-content:center;}
  .mapa-aviso-resultado{margin:0 auto 32px;}
  @media (max-width:860px){.mapa-frentes{grid-template-columns:repeat(2,minmax(0,1fr));}.mapa-frente{padding:16px 18px;gap:12px;}}
  @media (max-width:480px){.mapa-frente{flex-direction:column;align-items:flex-start;gap:10px;}}

  /* Resultado da amostra: legenda em Cormorant, card de desbloqueio com padding de card (18 a 24) */
  .mapa-amostra-legenda{font-family:var(--fonte-destaque);font-style:italic;font-size:20px;color:var(--texto3);}
  .mapa-amostra-oferta-card.mapa-preco-card{padding:24px;}
  .mapa-amostra-oferta-card{padding:24px;}

  /* Pergunta da amostra */
  .amostra-quiz{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start;}
  .amostra-quiz-coluna{max-width:620px;}
  .amostra-barra{height:4px;border-radius:999px;background:var(--blush-4);margin:14px 0 28px;overflow:hidden;}
  .amostra-barra-cheia{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--terracota),var(--rose));transition:width .28s ease;}
  .amostra-pergunta{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:44px;line-height:1.1;color:var(--rose);margin:0 0 28px;}
  .amostra-opcoes{display:flex;flex-direction:column;gap:12px;margin-bottom:12px;}
  .amostra-opcoes .opt{min-height:64px;margin:0;font-size:16px;}
  .amostra-quiz-teia{position:sticky;top:24px;padding:22px;}
  .amostra-quiz-teia-svg{margin:14px 0 6px;}
  .amostra-quiz-teia-nota{font-size:12px;line-height:1.55;color:var(--texto3);margin:0;}
  @media (max-width:1080px){.amostra-quiz{grid-template-columns:minmax(0,1fr);}.amostra-quiz-teia{display:none;}}
  @media (max-width:860px){.amostra-pergunta{font-size:32px;}.amostra-opcoes .opt{min-height:60px;font-size:15px;}}

  /* Dentro de um módulo */
  .modulo-pagina{max-width:1080px;}
  .modulo-voltar{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:500;color:var(--texto3);cursor:pointer;}
  .modulo-voltar:hover{color:var(--rose);}
  .modulo-voltar:focus-visible{outline:2px solid var(--rose);outline-offset:3px;border-radius:6px;}
  .modulo-cabecalho{margin:6px 0 28px;}
  .modulo-cabecalho .titulo-pagina{margin-top:12px;}
  .modulo-libera{display:inline-flex;align-items:center;gap:8px;margin:16px 0 0;font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--rose);}
  .modulo-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start;}
  .modulo-principal{display:flex;flex-direction:column;gap:24px;min-width:0;}
  .modulo-video{position:relative;aspect-ratio:16/9;border-radius:12px 36px 36px 36px;overflow:hidden;background:linear-gradient(135deg,var(--blush-2),var(--blush-4));border:1px solid var(--blush-4);}
  .modulo-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
  .modulo-video-vazio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;}
  .modulo-play{width:68px;height:68px;border-radius:50%;background:#fff;box-shadow:0 8px 24px rgba(160,63,80,.18);display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px;}
  .modulo-video-titulo{font-family:'Playfair Display',serif;font-size:19px;color:var(--vinho);margin:0;}
  .modulo-video-texto{font-size:13.5px;line-height:1.6;color:var(--texto3);margin:0;max-width:380px;}
  .modulo-roteiro{padding:24px 28px;}
  .modulo-roteiro p{font-size:15.5px;line-height:1.9;color:var(--vinho);margin:0 0 16px;white-space:pre-line;}
  .modulo-roteiro p:last-child{margin-bottom:0;}
  .modulo-destaque{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:24px;line-height:1.35;color:var(--rose);}
  .modulo-resumo{background:var(--blush-2);border:1px solid var(--blush-4);border-left:4px solid var(--rose);border-radius:8px 24px 24px 8px;padding:20px 24px;}
  .modulo-resumo-frase{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:22px;line-height:1.4;color:var(--vinho);margin:10px 0 0;}
  .modulo-lateral{display:flex;flex-direction:column;gap:16px;position:sticky;top:24px;}
  .modulo-neste{padding:22px;}
  .modulo-neste .titulo-card{margin:0 0 14px;}
  .modulo-neste-lista{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:10px;}
  .modulo-neste-lista li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--vinho);}
  .modulo-neste .btn-primary{width:100%;}
  .modulo-neste-nota{font-size:12px;line-height:1.55;color:var(--texto3);margin:12px 0 0;text-align:center;}
  .modulo-proximo{padding:20px 22px;}
  .modulo-proximo-titulo{font-family:'Playfair Display',serif;font-size:17px;line-height:1.3;color:var(--vinho);margin:10px 0 12px;}
  .modulo-principal .material-grid{grid-template-columns:repeat(auto-fill,minmax(170px,200px));}
  @media (max-width:1080px){.modulo-layout{grid-template-columns:minmax(0,1fr) 280px;gap:24px;}}
  @media (max-width:860px){
    .modulo-layout{grid-template-columns:minmax(0,1fr);}
    .modulo-lateral{position:static;}
    .modulo-roteiro{padding:20px;}
    .modulo-video{border-radius:12px 28px 28px 28px;}
  }
  .rel-identificamos-teia{flex-basis:290px;width:290px;}
  @media (max-width:860px){.rel-identificamos-teia{flex-basis:auto;width:100%;max-width:320px;}}

  /* Foto da Bea na moldura em arco (substitui o monograma provisório) */
  .nutri-arco{overflow:hidden;}
  .nutri-arco img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block;}

  .nutri-bio{max-width:760px;margin:0 0 24px;}
  .nutri-bio p{font-size:15.5px;line-height:1.9;color:var(--vinho);margin:0 0 16px;}
  .nutri-bio p:last-child{margin-bottom:0;}

  /* ===== Mapa da Mulher v2 (js/16b-tela-mapa-v2.js), atrás de flag ===== */
  .mv2{max-width:1080px;}
  .mv2-previa{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px;padding:8px 14px;border-radius:999px;background:var(--blush-3);font-size:12px;color:var(--vinho);}
  .mv2-previa-selo{font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:10.5px;color:var(--rose);}
  .mv2-previa-btn{background:transparent;color:var(--rose);font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px;min-height:32px;}
  .mv2-lead{font-size:16px;line-height:1.7;color:var(--texto-sec);max-width:620px;margin:0 0 16px;}
  .mv2-lead-menor{font-size:15px;}
  .mv2-hero{margin-bottom:8px;}
  .mv2-teia-card{padding:18px 10px 8px;border-radius:12px 40px 40px 40px;margin:8px 0 12px;}
  .mv2-teia{display:block;width:100%;height:auto;max-width:420px;margin:0 auto;}
  .mv2-legenda{text-align:center;font-family:var(--fonte-destaque);font-style:italic;font-size:19px;color:var(--texto3);margin:0 16px 12px;}
  .mv2-aviso{margin:12px auto 22px;}
  .mv2-secao{margin-top:48px;}
  .mv2-secao .titulo-secao{margin-bottom:18px;}
  .mv2-venda{max-width:860px;padding:24px;text-align:left;margin:28px auto 64px;}
  .mv2-pequeno{font-size:12.5px;line-height:1.6;color:var(--texto3);margin:12px 2px 0;}
  .mv2-pequeno-claro{font-size:12px;color:var(--texto3);margin:0;}
  .mv2-pequeno-escuro{font-size:13px;line-height:1.55;color:var(--vinho);}
  .mv2-nota{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;margin:16px 0;border-radius:22px;background:var(--blush-2);border:1px solid var(--blush-4);font-size:14px;line-height:1.65;color:var(--vinho);}
  .mv2-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .mv2-frente{padding:16px 18px;display:flex;flex-direction:column;gap:6px;}
  .mv2-frente-p{border-color:var(--rose);}
  .mv2-frente-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .mv2-pill{display:inline-flex;align-items:center;padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap;}
  .mv2-pill-e{background:var(--blush-2);color:var(--vinho);border:1px solid var(--blush-4);}
  .mv2-pill-a{background:var(--blush-3);color:var(--vinho);}
  .mv2-pill-s{background:var(--blush-3);color:var(--vinho);border:1.5px solid var(--rose);}
  .mv2-pill-p{background:var(--rose);color:#fff;}
  .mv2-pilhas,.mv2-passos{display:flex;flex-direction:column;gap:12px;}
  .mv2-peso{padding:14px 18px;display:flex;flex-direction:column;gap:4px;}
  .mv2-passo{display:flex;gap:14px;padding:18px 20px;font-size:14.5px;line-height:1.65;color:var(--vinho);}
  .mv2-passo b{display:block;font-weight:600;margin-bottom:2px;}
  .mv2-passo-ic{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--blush-3);}
  .mv2-recado{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;border-radius:12px 32px 32px 32px;}
  .mv2-recado img{flex:none;width:64px;height:80px;object-fit:cover;object-position:50% 15%;border-radius:999px 999px 14px 14px;}
  .mv2-recado-texto{font-family:var(--fonte-destaque);font-style:italic;font-size:22px;line-height:1.35;color:var(--vinho);margin:6px 0 0;}
  .mv2-semana{margin:22px 0 12px;}
  .mv2-dia{display:flex;gap:14px;width:100%;text-align:left;padding:16px 18px;color:var(--vinho);cursor:pointer;font:inherit;}
  .mv2-dia b{display:block;font-weight:600;}
  .mv2-x{display:block;font-size:14px;line-height:1.55;color:var(--texto-sec);margin-top:4px;}
  .mv2-x i{font-style:normal;font-weight:600;color:var(--vinho);}
  .mv2-caixa{flex:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;border-radius:8px;border:1.5px solid var(--blush-6);background:#fff;}
  .mv2-caixa svg{opacity:0;}
  [aria-pressed="true"]>.mv2-caixa{background:var(--rose);border-color:var(--rose);}
  [aria-pressed="true"]>.mv2-caixa svg{opacity:1;}
  .mv2-dia[aria-pressed="true"]{border-color:var(--rose);background:var(--blush-2);}
  .mv2-lista{padding:6px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;}
  .mv2-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--blush-4);background:none;color:var(--vinho);font:500 14px/1.4 'Montserrat',sans-serif;text-align:left;cursor:pointer;}
  .mv2-item[aria-pressed="true"]{text-decoration:line-through;color:var(--texto3);}
  .mv2-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
  .mv2-link{cursor:pointer;min-height:36px;}
  .mv2-link:focus-visible{outline:2px solid var(--rose);outline-offset:2px;}
  .mv2-qlista{margin:0;padding-left:20px;font-size:15px;line-height:1.7;color:var(--texto-sec);}
  .mv2-qlista li{margin-bottom:10px;}
  .mv2-convite{max-width:none;margin:0 0 18px;text-align:left;}
  .mv2-acoes-linha{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:6px;}
  .mv2-acoes-pergunta{display:flex;justify-content:space-between;gap:12px;margin-top:6px;}
  .mv2-rodape{font-size:12px;line-height:1.7;color:var(--texto3);margin:40px 0 24px;}
  .mv2-confirma{font-size:13px;color:var(--vinho);}
  .mv2-intro-pago{max-width:640px;padding:24px 0;}
  .mv2-trilha{padding:16px 18px;}
  .mv2-trilha-opcoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
  .mv2-trilha-btn{min-height:40px;padding:0 18px;border:1px solid var(--blush-4);border-radius:999px;background:var(--card, #fff);color:var(--vinho);font:500 13px 'Montserrat',sans-serif;cursor:pointer;}
  .mv2-trilha-btn[aria-pressed="true"]{border:1.5px solid var(--rose);font-weight:600;}
  .mv2-trilha-btn:focus-visible{outline:2px solid var(--rose);outline-offset:2px;}
  .mv2-trilha-nota{margin-top:12px;color:var(--vinho);}
  .mv2-sem-painel{grid-template-columns:minmax(0,1fr);}
  .mv2-consent .onb-texto{max-width:560px;}
  .mv2-check{display:flex;gap:12px;align-items:flex-start;margin:14px 0;font-size:14px;line-height:1.55;color:var(--vinho);cursor:pointer;max-width:560px;}
  .mv2-check input{flex:none;width:22px;height:22px;margin-top:1px;accent-color:var(--rose);}
  .mv2-saiba{margin:10px 0 4px;font-size:13px;color:var(--texto3);max-width:560px;}
  .mv2-saiba summary{cursor:pointer;color:var(--rose);font-weight:600;}
  .print-only{display:none;}
  @media (max-width:860px){
    .mv2-grid2{grid-template-columns:minmax(0,1fr);}
    .mv2-lista{grid-template-columns:minmax(0,1fr);}
    .mv2-lead{font-size:15px;}
    .mv2-recado-texto{font-size:20px;}
    .mv2-venda{padding:20px;}
  }
  /* "Levar para a minha consulta": imprime só o resultado (esconde menu, faixa de prévia e ações). Mesmo
     recurso da impressão das receitas (#printArea): o conteúdo vai para o topo da página. */
  @media print{
    .mv2, .mv2 *{visibility:visible !important;}
    .mv2{position:absolute;left:0;top:0;width:100%;max-width:none;padding:0;background:#fff;}
    .mv2 .no-print, .mv2-previa{display:none !important;}
    .mv2 .print-only{display:block !important;margin:0 0 14px;font-size:12px;color:#591B20;}
    .mv2 .card, .mv2 .mv2-nota, .mv2 .mapa-preco-card{box-shadow:none !important;break-inside:avoid;border:1px solid #ccc !important;background:#fff !important;}
    .mv2 .titulo-pagina, .mv2 .titulo-secao{color:#591B20 !important;}
  }

/* ===== Tela de escolha de trilha (vitrine da marca) ===== */
.trilhas-tela{max-width:720px;margin:0 auto;padding:56px 24px;}
.trilhas-marca{text-align:center;margin-bottom:28px;}
.trilhas-marca-tagline{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:15px;line-height:1.2;color:var(--rose);margin:4px 0 0;}
.trilha-destaque{background:var(--vinho);color:var(--offwhite);border-radius:16px;padding:26px 26px 24px;margin:0 0 26px;}
.trilha-destaque-etiqueta{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:#F0C4AE;margin:0 0 10px;}
.trilha-destaque-titulo{font-family:'Playfair Display',serif;font-weight:600;font-size:26px;line-height:1.2;color:var(--offwhite);margin:0 0 8px;}
.trilha-destaque-desc{font-size:14px;line-height:1.65;color:rgba(250,250,249,.88);margin:0 0 20px;max-width:460px;}
.trilha-destaque .btn-primary{width:auto;min-width:220px;background:var(--terracota);color:#fff;}
.trilha-destaque .btn-primary:hover:not(:disabled){filter:brightness(1.08);}
.trilha-destaque .btn-primary:focus-visible{outline-color:var(--offwhite);}
.trilhas-embreve-rotulo{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--texto3);margin:0 0 10px;}
.trilhas-embreve{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.trilha-embreve{background:transparent;border:1px solid var(--linha);border-radius:12px;padding:14px 14px 15px;cursor:default;}
.trilha-embreve-nome{font-size:13px;font-weight:600;color:var(--texto3);margin:0 0 4px;}
.trilha-embreve-desc{font-size:12px;line-height:1.5;color:var(--texto2);margin:0;}
@media (max-width:640px){
  .trilhas-tela{padding:36px 18px;}
  .trilhas-embreve{grid-template-columns:1fr;}
  .trilha-destaque{padding:22px 20px;}
  .trilha-destaque .btn-primary{width:100%;}
}

/* ===== Boas-vindas final do onboarding (página inteira, fundo vinho) ===== */
.bv-pagina{min-height:100vh;min-height:100dvh;background:var(--vinho);color:var(--offwhite);display:flex;justify-content:center;padding:44px 24px calc(48px + env(safe-area-inset-bottom,0px));box-sizing:border-box;}
.bv-miolo{width:100%;max-width:520px;display:flex;flex-direction:column;align-items:center;text-align:center;}
.bv-marca{display:flex;flex-direction:column;align-items:center;margin-bottom:34px;}
.bv-marca-frase{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:15px;line-height:1.2;color:rgba(250,250,249,.85);margin:6px 0 0;}
.bv-icone{width:68px;height:68px;border-radius:50%;background:var(--terracota);display:flex;align-items:center;justify-content:center;margin:0 0 22px;}
.bv-titulo{font-family:'Playfair Display',serif;font-weight:600;font-size:30px;line-height:1.2;color:var(--offwhite);margin:0 0 14px;}
.bv-titulo-it{display:block;font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:30px;color:var(--terracota);margin-top:2px;}
.bv-texto{font-size:15px;line-height:1.7;color:rgba(250,250,249,.9);margin:0 0 26px;max-width:440px;}
.bv-lista{list-style:none;margin:0 0 30px;padding:0;width:100%;max-width:420px;border-top:1px solid rgba(250,250,249,.18);}
.bv-lista li{display:flex;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px solid rgba(250,250,249,.18);font-size:14px;color:var(--offwhite);text-align:left;}
.bv-lista-ic{flex:0 0 28px;display:flex;align-items:center;justify-content:center;}
.bv-botao{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 34px;border:0;border-radius:999px;background:var(--terracota);color:#fff;font:600 15px 'Montserrat',sans-serif;cursor:pointer;transition:filter .15s ease,transform .15s ease;}
.bv-botao:hover{filter:brightness(1.08);transform:translateY(-1px);}
.bv-botao:focus-visible{outline:2px solid var(--offwhite);outline-offset:3px;}
.bv-assinatura{font-family:var(--fonte-destaque);font-style:italic;font-weight:500;font-size:17px;color:rgba(250,250,249,.85);margin:20px 0 0;}
@media (max-width:480px){
  .bv-pagina{padding:32px 20px calc(36px + env(safe-area-inset-bottom,0px));}
  .bv-titulo,.bv-titulo-it{font-size:26px;}
  .bv-botao{width:100%;}
}
.mv2-intro-pre{max-width:560px;padding:8px 0 24px;}
.mv2-intro-pre .btn-primary{margin-top:8px;}
