/* Estilos partilhados das páginas públicas (Fase 1) -- extraídos da landing page. */
  :root { color-scheme: light; }
  html { scroll-behavior: smooth; scroll-padding-top: 90px; }
  body {
    background-color: #FDFBF7;
    background-image:
      radial-gradient(circle at 1px 1px, rgba(58,46,39,0.07) 1px, transparent 0);
    background-size: 22px 22px;
  }
  .naipe { font-family: 'Fraunces', serif; }

  /* Textura subtil de "feltro" para blocos escuros -- sem imagem externa */
  .textura-feltro {
    background-image:
      repeating-linear-gradient(135deg, rgba(255,255,255,0.035) 0px, rgba(255,255,255,0.035) 1px, transparent 1px, transparent 10px);
  }

  /* Carta decorativa -- simula o canto de uma carta de jogar */
  .mini-carta {
    aspect-ratio: 5 / 7;
    border-radius: 10px;
    background: #FDFBF7;
    border: 1.5px solid rgba(58,46,39,0.18);
    box-shadow: 0 6px 16px -8px rgba(58,46,39,0.35);
  }

  .sublinhado-mostarda {
    background-image: linear-gradient(transparent 70%, rgba(201,130,46,0.35) 70%);
  }

  /* Pedido do utilizador: espaços reservados para imagens -- trocar
     por <img src="..." class="w-full h-full object-cover rounded-3xl">
     quando houver fotografias reais. */
  .espaco-imagem {
    background: repeating-linear-gradient(45deg, #EAE1CE, #EAE1CE 12px, #F6F0E4 12px, #F6F0E4 24px);
    border: 1.5px dashed rgba(58,46,39,0.25);
  }

  @keyframes flutuar {
    0%, 100% { transform: translateY(0) rotate(var(--rot, 0deg)); }
    50% { transform: translateY(-10px) rotate(var(--rot, 0deg)); }
  }
  .flutuar { animation: flutuar 6s ease-in-out infinite; }
