diff --git a/docs/features/field/button-group/index.md b/docs/features/field/button-group/index.md
index ea4c38f9..40fd1431 100644
--- a/docs/features/field/button-group/index.md
+++ b/docs/features/field/button-group/index.md
@@ -1,17 +1,245 @@
# Button Group Field
-The Button Group field provides a set of buttons where users can select one option from multiple choices. It offers a more visual and user-friendly alternative to radio buttons or select dropdowns.
+The **Button Group** field in Secure Custom Fields (SCF) provides a clear and user-friendly way to select **one option from a predefined set**. It presents choices as clickable buttons instead of checkboxes or dropdowns, making selections faster, more visual, and less error‑prone.
-## Key Features
+This documentation uses a **movie website** as a real-world scenario, showing how Button Group fields can be applied effectively by both non-technical editors and developers.
-- Visual button-style interface
-- Single option selection
-- Customizable button labels
-- Clear visual indication of selected option
+---
-## Settings
+## What is it?
-- Choices - Define the available options
-- Default Value - Set the pre-selected option
-- Return Format - Specify how the value should be returned
-- Allow Null - Option to have no selection
+The Button Group field is a **single-choice selection field**. Unlike Checkbox fields (which allow multiple selections), a Button Group allows **only one value to be selected at a time**.
+
+Each option is displayed as a button with a clear label, helping editors immediately understand available choices and current selection.
+
+Button Group fields store a **single value**, making them ideal for mutually exclusive states or modes.
+
+---
+
+## How does it work?
+
+When a Button Group field is added to a field group:
+
+1. SCF displays all predefined options as clickable buttons.
+2. Editors select exactly **one** option.
+3. Selecting a button automatically deselects the others.
+4. SCF stores the selected value in the database.
+5. The value can later be retrieved and used in templates or logic.
+
+Because only one option can be stored, the returned value is always **predictable and consistent**, simplifying both editorial workflows and development.
+
+---
+
+## What is it for?
+
+Use the Button Group field when content requires a **clear, exclusive choice**.
+
+### Ideal use cases
+
+- Selecting a single mode or state
+- Choosing between layout or display variants
+- Setting visibility or priority levels
+- Replacing dropdowns where clarity is critical
+
+### Movie website examples
+
+On a movie website, Button Group fields are commonly used for:
+
+- **Movie status**
+ Upcoming · Now Showing · Archived
+
+- **Audience rating**
+ G · PG · PG-13 · R
+
+- **Primary format**
+ Streaming · Cinema · Blu-ray
+
+- **Highlight level**
+ Normal · Featured · Editor’s Pick
+
+These values are often used to control labels, badges, filters, or page behavior.
+
+---
+
+## Usage
+
+### Adding a Button Group field (for editors)
+
+1. Go to **SCF → Field Groups**.
+2. Create or edit a field group assigned to the **Movie** post type.
+3. Click **Add Field**.
+4. Select **Button Group** as the field type.
+5. Define the available **Choices**.
+6. Configure default value and return format.
+7. Save the field group.
+
+Editors will see a row of buttons when editing a movie, with one active selection at all times.
+
+---
+
+### Defining choices
+
+Each choice consists of a **stored value** and a **label**.
+
+Example (Movie Status):
+
+```
+upcoming : Upcoming
+showing : Now Showing
+archived : Archived
+```
+
+- The value (`upcoming`) is stored in the database.
+- The label (`Upcoming`) is shown to editors.
+
+---
+
+### Field settings explained
+
+#### Choices
+Defines the available options. Button Groups work best with **small, focused sets** (typically 2–5 options).
+
+#### Default Value
+Specifies which option is preselected for new content. This helps guide editors and avoids empty states.
+
+#### Return Format
+Controls what is returned when retrieving the field:
+- **Value** – returns the stored value (recommended)
+- **Label** – returns the human-readable label
+- **Both** – returns value and label together
+
+#### Layout
+Controls how buttons are displayed:
+- **Horizontal** (default and recommended)
+- **Vertical** (useful for longer labels)
+
+---
+
+### Best practices for editors
+
+- Choose the option that best represents the movie’s current state.
+- Avoid changing values after publication unless intentionally updating behavior.
+- Follow editorial guidelines to ensure consistency.
+- If unsure which option to select, consult internal documentation.
+
+---
+
+## Next Steps
+
+After implementing Button Group fields:
+
+- Use the selected value to display badges or labels.
+- Apply conditional logic to adjust layouts or features.
+- Combine with Checkbox fields for advanced configurations.
+- Audit values periodically to ensure relevance.
+
+---
+
+## For Developers
+
+### Registering a Button Group field for movies
+
+The following example registers a Button Group field for selecting a movie’s release status.
+
+```php
+ 'group_movie_status',
+ 'title' => 'Movie Status',
+ 'fields' => array(
+ array(
+ 'key' => 'field_movie_status',
+ 'label' => 'Release Status',
+ 'name' => 'movie_status',
+ 'type' => 'button_group',
+ 'choices' => array(
+ 'upcoming' => 'Upcoming',
+ 'showing' => 'Now Showing',
+ 'archived' => 'Archived',
+ ),
+ 'default_value' => 'upcoming',
+ 'return_format' => 'value',
+ 'layout' => 'horizontal',
+ ),
+ ),
+ 'location' => array(
+ array(
+ array(
+ 'param' => 'post_type',
+ 'operator' => '==',
+ 'value' => 'movie',
+ ),
+ ),
+ ),
+ )
+ );
+} );
+```
+
+---
+
+### Rendering the Button Group value
+
+In a movie template (`single-movie.php`):
+
+```php
+
+
+
+
+ 'group_movie_genres',
+ 'title' => 'Movie Genres',
+ 'fields' => array(
+ array(
+ 'key' => 'field_movie_genres',
+ 'label' => 'Genres',
+ 'name' => 'movie_genres',
+ 'type' => 'checkbox',
+ 'choices' => array(
+ 'action' => 'Action',
+ 'drama' => 'Drama',
+ 'comedy' => 'Comedy',
+ 'scifi' => 'Science Fiction',
+ 'thriller' => 'Thriller',
+ ),
+ 'layout' => 'vertical',
+ 'return_format' => 'value',
+ 'toggle' => 1,
+ ),
+ ),
+ 'location' => array(
+ array(
+ array(
+ 'param' => 'post_type',
+ 'operator' => '==',
+ 'value' => 'movie',
+ ),
+ ),
+ ),
+ )
+ );
+} );
+```
+
+---
+
+### Rendering Checkbox values in a movie template
+
+```php
+
+
+
+ 'group_movie_dates',
+ 'title' => 'Movie Dates',
+ 'fields' => array(
+ array(
+ 'key' => 'field_movie_release_date',
+ 'label' => 'Release Date',
+ 'name' => 'movie_release_date',
+ 'type' => 'date_picker',
+ 'display_format' => 'd/m/Y',
+ 'return_format' => 'Y-m-d',
+ 'first_day' => 1,
+ ),
+ ),
+ 'location' => array(
+ array(
+ array(
+ 'param' => 'post_type',
+ 'operator' => '==',
+ 'value' => 'movie',
+ ),
+ ),
+ ),
+ )
+ );
+} );
+```
+
+---
+
+### Rendering the date in a movie template
+
+```php
+
+
+ $today ) {
+ // Movie has not been released yet.
+}
+```
+
+---
+
+### Data integrity tips
+
+- Store dates in a sortable format such as `Y-m-d`.
+- Always use WordPress date functions for localization.
+- Avoid mixing date formats across fields.
+- Document how dates are used in logic and templates.
+
+---
+
+## Summary
+
+The Date Picker field provides a reliable and user-friendly way to manage dates in SCF. It simplifies date input for editors while giving developers consistent, predictable values. For movie websites and other time-based content, it is an essential tool for managing releases, events, and schedules.
+
+---
+
+*Last updated: 2026-01-19*
diff --git a/docs/features/field/image/index.md b/docs/features/field/image/index.md
index 02349018..e9a74bc7 100644
--- a/docs/features/field/image/index.md
+++ b/docs/features/field/image/index.md
@@ -1,19 +1,225 @@
# Image Field
-The Image field provides a dedicated interface for uploading and selecting images through the WordPress media library. It offers preview capabilities and multiple return format options.
+The **Image** field provides a dedicated interface for uploading and selecting images through the WordPress media library. It offers preview capabilities, validation options, and multiple return formats, making it suitable for both simple image usage and advanced media-driven layouts.
+
+This documentation follows WordPress.org guidelines and is written for **both non-technical editors and developers**, using a **movie website** as a consistent real-world example.
+
+---
+
+## What is it?
+
+The Image field is a **media selection field** that allows editors to upload or choose an image from the WordPress media library. Once selected, the image can be previewed directly in the editor and reused across templates or layouts.
+
+Depending on configuration, the Image field can return:
+- An image **ID**
+- An image **URL**
+- A full **array** of image data (metadata, sizes, alt text)
+
+---
+
+## How does it work?
+
+When an Image field is added to a field group:
+
+1. SCF displays an image selector connected to the WordPress media library.
+2. Editors can upload a new image or select an existing one.
+3. A preview thumbnail is shown in the editor.
+4. Optional validation rules ensure correct image dimensions and file size.
+5. The selected image is saved and returned in the configured format.
+
+For editors, the experience is visual and familiar. For developers, the output is structured and predictable.
+
+---
+
+## What is it for?
+
+Use the Image field whenever content requires **visual representation**.
+
+### Movie website examples
+
+On a movie website, Image fields are commonly used for:
+
+- **Movie poster**
+- **Hero background image**
+- **Director or cast photos**
+- **Featured banners**
+- **Promotional artwork**
+
+Images selected through the Image field can be reused consistently across listings, single pages, and promotional sections.
+
+---
## Key Features
-- Media library integration
-- Image preview
-- Size restrictions
-- Format validation
-- Multiple return formats
+- Full WordPress media library integration
+- Live image preview in the editor
+- Image dimension validation (width and height)
+- File size restrictions
+- Support for multiple return formats
+- Controlled image source selection
+
+---
+
+## Usage
+
+### Adding an Image field (for editors)
+
+1. Go to **SCF → Field Groups**.
+2. Create or edit a field group.
+3. Click **Add Field**.
+4. Select **Image** as the field type.
+5. Configure preview size and validation options.
+6. Assign the field group to the desired location (for example, the Movie post type).
+7. Save the field group.
+
+Editors will see an image upload/select control when editing a movie.
+
+---
## Settings
-- Preview Size - Thumbnail display size
-- Library - Restrict to uploaded or all images
-- Min/Max Width/Height - Image dimension limits
-- File Size Restrictions - Control upload sizes
-- Return Format - Array, URL, or ID
+### Preview Size
+Controls the thumbnail size shown in the editor preview (for example, `thumbnail`, `medium`, `large`).
+
+### Library
+Restricts image selection:
+- **All** – any image from the media library
+- **Uploaded** – only images uploaded to the current post
+
+### Min / Max Width & Height
+Defines minimum and maximum image dimensions to ensure consistent layouts.
+
+### File Size Restrictions
+Limits the maximum allowed file size for uploads, helping with performance and storage control.
+
+### Return Format
+Defines how the image value is returned:
+- **Array** – full image data (recommended for flexibility)
+- **URL** – direct image URL
+- **ID** – attachment ID (best for performance and advanced usage)
+
+---
+
+## Best practices for editors
+
+- Upload images at the recommended dimensions.
+- Use descriptive alt text for accessibility.
+- Avoid excessively large images to improve performance.
+- Reuse existing images when possible to reduce duplication.
+
+---
+
+## Next Steps
+
+After implementing Image fields:
+
+- Use consistent image sizes across movie content.
+- Combine with Color Picker fields for visual theming.
+- Add fallback images in templates for missing content.
+- Audit media usage periodically to remove unused assets.
+
+---
+
+## For Developers
+
+### Registering an Image field for movies
+
+The following example registers an Image field for selecting a movie poster on a `movie` post type.
+
+```php
+ 'group_movie_images',
+ 'title' => 'Movie Images',
+ 'fields' => array(
+ array(
+ 'key' => 'field_movie_poster',
+ 'label' => 'Movie Poster',
+ 'name' => 'movie_poster',
+ 'type' => 'image',
+ 'preview_size' => 'medium',
+ 'library' => 'all',
+ 'return_format' => 'id',
+ ),
+ ),
+ 'location' => array(
+ array(
+ array(
+ 'param' => 'post_type',
+ 'operator' => '==',
+ 'value' => 'movie',
+ ),
+ ),
+ ),
+ )
+ );
+} );
+```
+
+---
+
+### Rendering the image in a movie template
+
+```php
+
+