> ## Documentation Index
> Fetch the complete documentation index at: https://docs.visk.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Layouts

> Slide templates, placeholders, and deck-wide restyling

Layouts are the templates slides are built on. Each slide references one layout, and that layout's shapes appear on the slide inside an `inherited` block.

Editing a layout changes every slide that uses it, which is how titles, footers, bullets and brand furniture are restyled across a deck in one edit.

A layout's body is the same HTML as a slide's. Only the root differs: it carries the `slide-layout` class, plus the layout's identity in `data-layout-*` attributes.

## Inherited shapes and placeholders

Two classes carry special meaning. Everything else, such as logos, rules and background images, is plain HTML.

**`inherited`** shapes come from the layout. They can't be modified or deleted on a slide, and reappear if you try, but they're fully editable in the layout's own HTML. Only the layout's own `inherited` block, holding master shapes, is fixed everywhere.

**`ph`** shapes are placeholders: the slots slides bind to for position, styling and content. Their `data-ph-idx` is that binding, so dropping it, or removing the placeholder, orphans the slide shapes attached to it. Other `data-ph-*` attributes (`sz`, `orient`, `has-prompt`) are PowerPoint metadata, round-tripped as-is.

## Placeholder types

Pair `ph` with an explicit type class. A bare `class="ph"` defaults to a text slot, so an object or media slot has to say so.

**Title and text**

| Class         | Slot                                                                              |
| ------------- | --------------------------------------------------------------------------------- |
| `ph-title`    | Standard per-slide title                                                          |
| `ph-ctrTitle` | Large centred title, the Title Slide variant. Not interchangeable with `ph-title` |
| `ph-subTitle` | Subtitle beneath a centred title                                                  |
| `ph-body`     | Generic multi-level text. The default for any text slot                           |

**Furniture**

| Class       | Slot               |
| ----------- | ------------------ |
| `ph-ftr`    | Footer text        |
| `ph-dt`     | Date field         |
| `ph-sldNum` | Slide-number field |

**Object and media drop zones**

| Class      | Slot                                                 |
| ---------- | ---------------------------------------------------- |
| `ph-pic`   | Picture only                                         |
| `ph-chart` | Chart only                                           |
| `ph-tbl`   | Table only                                           |
| `ph-obj`   | Generic content slot: picture, chart, table or video |

These stay empty in the layout, carrying only position and any empty-state styling:

```html theme={null}
<div box="60 120 400 260" class="ph ph-pic"></div>
```

## Setting inherited styles

Text inside a layout placeholder is sample text. It previews how slides will look but never appears on a slide, since slides supply their own text. Styling it is how you set the defaults slides inherit: what you see in the layout is what slides get.

Body placeholders show one sample line per outline level. The first line at each level defines that level's style across every slide using the layout.

```html theme={null}
<!-- level-1 bullets on all slides using this layout: 19pt, brand red, bold -->
<ul data-level="1" style="font-size: 19pt; color: #C0392B; font-weight: bold">
  <li>Second level</li>
</ul>
```

A line left unstyled inherits the theme's own style for that level.

## Root attributes

| Attribute                           | Notes                                                                    |
| ----------------------------------- | ------------------------------------------------------------------------ |
| `data-layout-name`                  | The layout's name. Edit to rename                                        |
| `data-layout-type`                  | PowerPoint layout type (`title`, `obj`, `secHead`…). Usually leave alone |
| `data-layout-id` / `data-master-id` | Identity. Changing them breaks the link to dependent slides              |
