/* ── CSP compatibility utilities ──────────────────────────────────────────
 * Replaces inline style="..." attributes that violate style-src CSP.
 * Loaded on every page via base.html.twig.
 * ──────────────────────────────────────────────────────────────────────── */

/* SVG cross-hatch pattern used in hero and parallax sections.
 * Was: style="background-image: url('data:image/svg+xml,...')" */
.hero-svg-pattern {
    background-image: url('data:image/svg+xml,%3Csvg width=%2260%22 height=%2260%22 viewBox=%220 0 60 60%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg fill=%22none%22 fill-rule=%22evenodd%22%3E%3Cg fill=%22%23ffffff%22 fill-opacity=%220.08%22%3E%3Cpath d=%22M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E');
}

/* Pricing page: combo/savings badge variant.
 * Was: style="background:rgba(99,102,241,0.12);color:#818cf8" */
.price-card-badge--combo {
    background: rgba(99, 102, 241, 0.12);
    color: #818cf8;
}

/* Pricing page: empty state when no packages exist.
 * Was: style="text-align:center; padding:4rem 1.5rem; color:#94a3b8" */
.pricing-empty-state {
    text-align: center;
    padding: 4rem 1.5rem;
    color: #94a3b8;
}
