# Estate

> Editorial property theme with image-led layouts, crisp typography, a restrained red accent, and clear property discovery and contact paths.

- Skill: `aimeos/estate` (Agent Skill, multi-file: 67 files)
- Install (CLI): `npx skillmds@latest add aimeos/estate`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aimeos/estate/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- License: MIT
- Author: aimeos (https://skillmd.com/u/aimeos)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/aimeos/estate

---


# Estate Theme

## Direction

Estate is a premium property-marketing theme built around large photography, editorial spacing, clear listing facts, and restrained conversion paths.

## Sources of truth

- Use `schema.json` for theme tokens, page types, and content fields.
- Use `public/cms.css` for the general visual language.
- Use `views/property.blade.php` with `public/property.css` for property details.
- Use `views/properties.blade.php`, `views/property-item.blade.php`, and `public/properties.css` for property lists.
- Reuse generic Pagible content views and assets instead of copying them into property-specific files.

## Visual language

- Background: white `#FFFFFF` with quiet neutral sections.
- Primary text and structural color: charcoal `#242424`.
- Accent and interactive color: signal red `#D00000`.
- Display typography: editorial serif using the configured `--pico-font-family-display`.
- Body typography: clean sans-serif using the configured `--pico-font-family-sans-serif`.
- Use square edges, fine neutral rules, and minimal shadow.
- Use gradients only for legibility over photography or intentional image placeholders.
- Keep interfaces image-led, spacious, and readable, with property facts presented as a clear hierarchy.

## Property components

- Property lists support only card and list layouts.
- Keep list filters appropriate for normal agency-sized portfolios.
- Use database pagination for unfiltered lists and preserve database ordering when filtering property content in memory.
- Property cards show one image; property details use the slideshow gallery.
- Keep price, status, facts, documents, contact, and structured listing data in the property templates.
- Use the existing CMS contact form and pass the source property URL.

## Implementation rules

- Keep all property-specific PHP, Blade, CSS, translations, tests, and schema entries in `themes/estate`.
- Keep property detail and property list CSS separate.
- Translate all frontend and admin strings.
- Do not use `@php` or `@endphp` in Blade templates.
- Prefer explicit Blade and PHP over helper functions, DTOs, registries, or compatibility layers.
- Use `property-<prop>` classes when individual property values need styling.
- Preserve responsive layouts, keyboard focus, semantic HTML, reduced-motion behavior, and print support.

## Avoid

- Do not introduce an unrelated black-and-gold fashion aesthetic.
- Do not remove rounding or gradients globally when the implemented component uses them intentionally.
- Do not move property filtering into generic blog actions.
- Do not add database-specific JSON filtering or search-package coupling at theme level.

