/* Orbia — peças compartilhadas entre a home e as páginas internas
   (2026-11-08): texturas da marca, utilitários de título e o bloco de
   contato (template-parts/contato.php). Antes estavam em home.css e
   hero.css, que só carregam na home. */

/* ---------- utilitários ---------- */
:root {
  --orbia-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --orbia-aurora:
    radial-gradient(42% 55% at 72% 6%, color-mix(in srgb, var(--orbia-pessego) 95%, transparent), transparent 70%),
    radial-gradient(30% 40% at 48% 4%, color-mix(in srgb, var(--orbia-salmao) 90%, transparent), transparent 70%),
    radial-gradient(24% 34% at 96% 46%, color-mix(in srgb, var(--orbia-ciano) 80%, transparent), transparent 70%),
    radial-gradient(26% 34% at 80% 48%, color-mix(in srgb, var(--orbia-violeta) 65%, transparent), transparent 70%),
    radial-gradient(60% 55% at 66% 96%, color-mix(in srgb, var(--orbia-cobalto) 90%, transparent), transparent 72%),
    radial-gradient(70% 60% at 58% 100%, var(--orbia-profundo), transparent 75%),
    linear-gradient(90deg, #000 0%, #000 22%, transparent 55%),
    #000;
}

.orbia-eyebrow {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--type-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.6;
  margin-bottom: var(--space-4);
}
.orbia-h2 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.4vw + 0.8rem, 3.75rem);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -0.025em;
  margin: 0;
  text-wrap: balance;
}
.orbia-lead {
  font-size: var(--type-body-lg);
  line-height: 1.5;
  margin: var(--space-5) 0 0;
  max-width: 60ch;
  text-wrap: pretty;
}
.orbia-body {
  margin: var(--space-4) 0 0;
  max-width: 62ch;
  opacity: 0.75;
  text-wrap: pretty;
}


/* CTA final com mini-formulário embutido (referência wibify.de,
   2026-09-14) — mesmo mecanismo do teaser de diagnóstico, versão leve
   sem etapas/score (includes/contato-rapido.php). */
.orbia-final-cta--form { padding-block: var(--space-10); }
.orbia-final-cta__head { margin-bottom: var(--space-8); }
.orbia-final-cta__subtitle {
  font-size: var(--type-body-lg);
  color: color-mix(in srgb, var(--orbia-white) 75%, transparent);
  max-width: 52ch;
  margin: var(--space-3) auto 0;
}

.orbia-contato-rapido {
  max-width: 640px;
  margin-inline: auto;
  text-align: left;
}
.orbia-contato-rapido__interesse { border: 0; padding: 0; margin: 0 0 var(--space-6); }
.orbia-contato-rapido__interesse legend {
  padding: 0;
  font-size: var(--type-small);
  font-weight: 600;
  margin-bottom: var(--space-3);
}
.orbia-contato-rapido__chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.orbia-contato-rapido__chip {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-full);
  border: 1px solid color-mix(in srgb, var(--orbia-white) 25%, transparent);
  font-size: var(--type-small);
  cursor: pointer;
  transition: border-color var(--duration-fast) var(--ease-out),
              background-color var(--duration-fast) var(--ease-out),
              color var(--duration-fast) var(--ease-out);
}
.orbia-contato-rapido__chip input {
  position: absolute;
  opacity: 0;
  width: 1px; height: 1px;
}
.orbia-contato-rapido__chip-icon svg {
  width: 16px; height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.orbia-contato-rapido__chip:has(input:checked) {
  border-color: var(--orbia-yellow-500);
  background: color-mix(in srgb, var(--orbia-yellow-500) 16%, transparent);
  color: var(--orbia-yellow-500);
}
.orbia-contato-rapido__chip:has(input:focus-visible) {
  outline: 2px solid var(--orbia-yellow-500);
  outline-offset: 2px;
}

.orbia-contato-rapido__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--space-4); }
.orbia-contato-rapido__field { margin-bottom: var(--space-5); }
.orbia-contato-rapido__field label {
  display: block;
  font-size: var(--type-small);
  font-weight: 600;
  margin-bottom: var(--space-2);
}
.orbia-contato-rapido__field label span { font-weight: 400; opacity: 0.6; }
.orbia-contato-rapido__field input,
.orbia-contato-rapido__field textarea {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-sm);
  border: 1px solid color-mix(in srgb, var(--orbia-white) 22%, transparent);
  background: color-mix(in srgb, var(--orbia-white) 8%, transparent);
  color: var(--orbia-white);
  font-family: inherit;
  font-size: var(--type-body);
  resize: vertical;
}
.orbia-contato-rapido__field input::placeholder,
.orbia-contato-rapido__field textarea::placeholder {
  color: color-mix(in srgb, var(--orbia-white) 45%, transparent);
}
.orbia-contato-rapido__field input:focus-visible,
.orbia-contato-rapido__field textarea:focus-visible {
  outline: 2px solid var(--orbia-yellow-500);
  outline-offset: 1px;
}
.orbia-contato-rapido__field.has-error input { border-color: var(--orbia-alert); }
.orbia-contato-rapido__field-error {
  display: block;
  font-size: var(--type-micro);
  color: var(--orbia-alert);
  margin-top: var(--space-2);
}

.orbia-contato-rapido__actions { text-align: center; margin-top: var(--space-6); }
.orbia-contato-rapido__note {
  font-size: var(--type-micro);
  color: color-mix(in srgb, var(--orbia-white) 60%, transparent);
  margin-top: var(--space-3);
}
.orbia-contato-rapido__note a { color: var(--orbia-white); }

.orbia-contato-rapido__result {
  margin-top: var(--space-5);
  padding: var(--space-4) var(--space-5);
  border-radius: var(--radius-md);
  font-size: var(--type-small);
  text-align: center;
}
.orbia-contato-rapido__result.is-success {
  background: color-mix(in srgb, var(--orbia-success) 22%, transparent);
  color: var(--orbia-white);
}
.orbia-contato-rapido__result.is-error {
  background: color-mix(in srgb, var(--orbia-alert) 22%, transparent);
  color: var(--orbia-white);
}

@media (max-width: 640px) {
  .orbia-contato-rapido__row { grid-template-columns: 1fr; }
}

/* ---------- 10 · CONTATO ---------- */
.orbia-contact { position: relative; isolation: isolate; overflow: hidden; background: var(--orbia-aurora); }
.orbia-contact::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: var(--orbia-grain); opacity: 0.4; mix-blend-mode: overlay; }
.orbia-contact .orbia-final-cta__title {
  font-size: clamp(2rem, 3.6vw + 0.8rem, 3.75rem);
  font-weight: 600; letter-spacing: -0.025em; line-height: 1.05;
  max-width: 20ch; margin-inline: auto; text-wrap: balance;
}
.orbia-contact .orbia-contato-rapido {
  padding: var(--space-6);
  border-radius: var(--radius-lg);
  background: rgb(0 0 0 / 0.35);
  border: 1px solid rgb(255 255 255 / 0.14);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
}
.orbia-contact .orbia-contato-rapido__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); justify-content: center; align-items: center; }

@media (max-width: 640px) {
  .orbia-contact .orbia-contato-rapido { padding: var(--space-5); }
}

/* fundos de cartão por tom (cartas da roda, cascata, portfólio, blog) */
.orbia-tone-0 { background:
  radial-gradient(60% 70% at 78% 8%, var(--orbia-pessego), transparent 70%),
  radial-gradient(40% 50% at 40% 0%, var(--orbia-salmao), transparent 70%),
  radial-gradient(70% 70% at 70% 110%, var(--orbia-cobalto), transparent 70%),
  linear-gradient(90deg, #000 10%, transparent 60%), #000; }
.orbia-tone-1 { background:
  radial-gradient(70% 70% at 20% 110%, var(--orbia-profundo), transparent 70%),
  radial-gradient(50% 50% at 85% 20%, var(--orbia-violeta), transparent 70%),
  radial-gradient(40% 40% at 60% 60%, var(--orbia-cobalto), transparent 70%),
  var(--orbia-noite); }
.orbia-tone-2 { color: var(--orbia-ink); background:
  radial-gradient(60% 70% at 85% 15%, var(--orbia-salmao), transparent 70%),
  radial-gradient(60% 70% at 10% 95%, var(--orbia-violeta), transparent 70%),
  radial-gradient(70% 70% at 50% 50%, var(--orbia-pessego), transparent 75%),
  var(--orbia-branco-quente); }
.orbia-tone-3 { background:
  radial-gradient(55% 80% at 92% 45%, var(--orbia-ciano), transparent 70%),
  radial-gradient(60% 70% at 65% 85%, var(--orbia-cobalto), transparent 70%),
  radial-gradient(30% 30% at 85% 5%, var(--orbia-violeta), transparent 70%),
  linear-gradient(90deg, #000 15%, transparent 65%), #000; }
.orbia-tone-4 { background:
  radial-gradient(80% 60% at 50% 0%, var(--orbia-salmao), transparent 70%),
  radial-gradient(55% 60% at 10% 90%, var(--orbia-orquidea), transparent 70%),
  radial-gradient(50% 50% at 90% 90%, var(--orbia-profundo), transparent 70%),
  var(--orbia-noite); }
.orbia-tone-5 { background:
  radial-gradient(60% 60% at 60% 60%, var(--orbia-profundo), transparent 72%),
  radial-gradient(35% 35% at 82% 22%, var(--orbia-salmao), transparent 70%),
  radial-gradient(90% 90% at 60% 55%, transparent 59%, color-mix(in srgb, #fff 18%, transparent) 59.4%, transparent 60%),
  var(--orbia-vazio); }
