/* Bella V2 — Utilities scrapbook (Lovable, 12/05/2026).
 * paper-texture, note-card, tape (washi), dashed-rule, filing-tab.
 */

/* Papel craft pontilhado — usado no body. */
.paper-texture {
  background-color: var(--background);
  background-image:
    radial-gradient(oklch(0.24 0.03 35 / 0.04) 1px, transparent 1px),
    radial-gradient(oklch(0.24 0.03 35 / 0.025) 1px, transparent 1px);
  background-size: 22px 22px, 7px 7px;
  background-position: 0 0, 11px 11px;
  background-attachment: fixed;
}

/* Card de papel colado em álbum — sombra dupla. */
.note-card {
  background: var(--card);
  box-shadow: var(--bella-shadow-card);
  border: 1px solid oklch(0.24 0.03 35 / 0.06);
  border-radius: var(--radius);
}

/* Washi tape decorativa. Posicionar via absolute. */
.tape {
  position: absolute;
  background: oklch(0.86 0.08 90 / 0.75);
  box-shadow: 0 1px 3px oklch(0.24 0.03 35 / 0.15);
  border-left: 1px dashed oklch(0.24 0.03 35 / 0.08);
  border-right: 1px dashed oklch(0.24 0.03 35 / 0.08);
}

/* Linha tracejada vertical (timeline). */
.dashed-rule {
  background-image: linear-gradient(
    to bottom,
    oklch(0.24 0.03 35 / 0.35) 0 6px,
    transparent 6px 12px
  );
  background-size: 1px 12px;
  background-repeat: repeat-y;
}

/* Linha tracejada horizontal (divisória entre seções). */
.dashed-rule-h {
  background-image: linear-gradient(
    to right,
    oklch(0.24 0.03 35 / 0.3) 0 6px,
    transparent 6px 12px
  );
  background-size: 12px 1px;
  background-repeat: repeat-x;
}

/* Aba de fichário — usada na bottom nav e nas sub-tabs de Saúde. */
.filing-tab {
  position: relative;
  background: var(--card);
  box-shadow: 0 -2px 6px oklch(0.24 0.03 35 / 0.08), 1px 0 0 oklch(0.24 0.03 35 / 0.05);
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  border: 1px solid oklch(0.24 0.03 35 / 0.08);
  border-bottom: none;
}
.filing-tab::before {
  content: "";
  position: absolute;
  top: 4px; left: 8px; right: 8px; height: 3px;
  background: var(--tab-color, var(--terracotta));
  border-radius: 2px;
  opacity: 0.85;
}

/* Tipografia helpers */
.font-hand     { font-family: var(--font-hand); }
.font-scribble { font-family: var(--font-scribble); }
.font-ui       { font-family: var(--font-ui); }
.font-serif    { font-family: var(--font-serif); }

/* Esconder scrollbar mas manter funcionalidade */
.no-scrollbar { scrollbar-width: none; -ms-overflow-style: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }

/* ─── Head padrão das 4 portas (porta-head.js) ───────────────────────────── */
/* Sticky header: Bella + FAB como flex siblings. Sem position:fixed math. */
.porta-header {
  position: sticky;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: calc(env(safe-area-inset-top, 0px) + 8px) 20px 8px;
  margin: 0 -20px;
  background: var(--background);
  z-index: 200;
}
.porta-brand-logo {
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: 600;
  color: var(--terracotta);
  line-height: 1;
  letter-spacing: -0.3px;
}
.porta-head-motto {
  display: inline-block;
  margin-top: 5px;
  font-size: 16px;
  white-space: nowrap;
}
.porta-head-id { margin-top: 16px; }
