/* Reelfabrik add-on styles (Gastro section, static pages) */
.rf-g3, .rf-g4 { display: grid; gap: 1.5rem; grid-template-columns: 1fr; list-style: none; padding: 0; }
@media (min-width: 640px) { .rf-g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .rf-g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .rf-g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

#rf-menu { border-top: 1px solid var(--border); background: var(--background); }
#rf-menu[hidden] { display: none; }
.rf-mlink { display: block; padding: .75rem 0; font-size: 1rem; color: var(--muted-foreground); border-bottom: 1px solid var(--border); }
.rf-mlink:hover { color: var(--foreground); }
.rf-mcta { margin-top: 1rem; display: inline-flex; justify-content: center; border-radius: 9999px; background: var(--primary); color: var(--primary-foreground); padding: .75rem 1.25rem; font-weight: 500; font-size: .875rem; }

.rf-benefits { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
.rf-benefits span { display: inline-flex; align-items: center; gap: .5rem; font-size: .875rem; color: var(--foreground); }
.rf-benefits svg { color: var(--primary); width: 1rem; height: 1rem; flex-shrink: 0; }
.rf-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; height: 2.75rem; padding: 0 1.25rem; border-radius: 9999px; font-size: .875rem; font-weight: 500; white-space: nowrap; transition: background-color .15s, border-color .15s; }
.rf-btn svg { width: 1rem; height: 1rem; flex-shrink: 0; }
.rf-btn-primary { background: var(--primary); color: var(--primary-foreground); }
.rf-btn-primary:hover { background: color-mix(in oklab, var(--primary) 80%, transparent); }
.rf-btn-ghost { border: 1px solid var(--border); color: var(--foreground); }
.rf-btn-ghost:hover { background: var(--muted); }
.rf-featured { border-color: color-mix(in oklab, var(--primary) 50%, transparent); }
.rf-row { display: flex; flex-direction: column; gap: 1.5rem; }
@media (min-width: 1024px) { .rf-row { flex-direction: row; align-items: center; justify-content: space-between; } }
.list-disc { list-style: disc; }
.pl-6 { padding-left: 1.5rem; }
.space-y-1 > * + * { margin-top: .25rem; }
.rf-pkg-card { cursor: pointer; }
.rf-pkg-cta { width: 100%; }
.rf-fade { animation: rf-fade-in .7s ease-out both; }
@keyframes rf-fade-in { from { opacity: 0; transform: translateY(1.5rem); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .rf-fade { animation: none; } }
