Contact directory section · 1.0.0

A contact section with separate general, project and office routes above a straightforward message form.

HTML: open index.html as the complete specimen. Copy snippet.html into your page and load snippet.css after your existing CSS. Load snippet.js once with defer. demo.css and the surrounding demonstration content are not part of the reusable component. Replace example links and details.

Astro: copy Snippet.astro into src/components and import it in your page or shared layout.  The component uses scoped class prefixes and global CSS for its own markup. Use one instance per page; change all IDs/prefixes before duplicating a component. An Astro component is provided, not a complete Astro starter project.

Three contact routes help visitors choose the right destination before using the general form. Replace each example address with a monitored inbox and remove routes you do not need.

Forms: demonstration scripts enable fields only to test native validation and intercept submissions. For a real form, configure the action endpoint, remove data-demo-form, remove disabled from the fieldset, and remove the demonstration submit handler. Implement server validation, spam/rate limits, delivery and success/error responses on your backend. This package never sends email or confirms a booking.

Testing: check links, keyboard focus, narrow widths, zoom and actual content after integration. Included scoped styles avoid broad element resets; your existing CSS may still affect the result. Original code: MIT, attribution link optional. Keep the license notice in redistributions.
