/* Tripforge custom styles (no SVG used) */
:root{
  --tf-bg: #f8fafc;
  --tf-ink: #0f172a;
  --tf-muted: #475569;
  --tf-teal: #0f766e;
  --tf-card: #ffffff;
  --tf-ring: rgba(15, 118, 110, 0.25);
}

/* Minimum base font size */
html{ font-size: 16px; }
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--tf-ink);
  background: var(--tf-bg);
}

.font-display{ font-family: "Playfair Display", Georgia, serif; }

/* Subtle background texture without SVG */
.tf-noise{
  background-image:
    radial-gradient(circle at 10% 10%, rgba(15,118,110,.10), transparent 35%),
    radial-gradient(circle at 80% 20%, rgba(15,118,110,.08), transparent 38%),
    radial-gradient(circle at 30% 90%, rgba(2,132,199,.08), transparent 40%);
}

/* Image polish */
.tf-img{
  border-radius: 1.5rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08);
}

/* Focus ring */
*:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px var(--tf-ring);
  border-radius: 12px;
}

/* Cookie banner entrance */
@keyframes tf-rise {
  from { transform: translateY(12px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
.tf-rise{ animation: tf-rise .25s ease-out both; }

/* Anchor offset for sticky header */
.tf-anchor{ scroll-margin-top: 100px; }

/* Dark footer tweaks */
footer a { text-decoration: none; }
footer a:hover { color: #5eead4; }
#recensioni p {
  color: #000!important;
}