# Case Study: osam.rs Seminari page

## Task

The site owner asked to add a new `Predstojeći seminari` container above the existing `Održani seminari` section on `https://osam.rs/seminari/`, using the same card style as the existing held seminar cards.

## What worked

1. Found the page with WP-CLI:
   - `wp post list --post_type=page ...`
   - target page: `ID 974`, title `Seminari`, slug `seminari`.

2. Inspected public page and existing Elementor structure:
   - public page already had `Održani seminari` heading and a two-column grid of cards.
   - `_elementor_data` was valid JSON, not only Beaver Builder fallback/meta.
   - first two top-level Elementor nodes were:
     - `data[0]`: heading container for `Održani seminari`
     - `data[1]`: grid/container holding the seminar cards.

3. Backed up:
   - `post_content`
   - `_elementor_data`

4. Cloned the existing heading container and first card/grid style:
   - changed heading title to `Predstojeći seminari`
   - changed card title to `ĆIGONG SEMINAR 2026 – NA KRILIMA PLAVOG ZMAJA KA UNUTRAŠNJOJ SNAZI VATRENOG KONJA`
   - changed date/location to `JandaLa, Fruška gora, 27.07. – 30.07.2026.`
   - changed button link to `https://osam.rs/cigong-seminar-2026/`
   - inserted `[new_heading, new_grid] + old_data` so it appears above held seminars.

5. Important width fix:
   - a single cloned card initially risked stretching differently than existing desktop cards.
   - preserving a 2-column grid shape with a left 50% content column and an empty right 50% column made the new card align like the existing first card.
   - desktop and mobile were visually verified after the fix.

6. Updated `post_content` fallback too, so snapshots/SEO/fallback text include the new section.

7. Cleared caches:
   - `wp post meta delete 974 _elementor_element_cache`
   - `wp elementor flush_css`
   - `wp cache flush`
   - removed generated Elementor/css and page cache files carefully.

8. Verified:
   - live HTML contained `Predstojeći seminari`
   - `Predstojeći seminari` appeared before `Održani seminari`
   - link count for `cigong-seminar-2026` was exactly 1
   - button `više` pointed to the new seminar page
   - desktop visual check passed
   - mobile visual check passed

## Lesson

For Elementor, cloning the existing JSON node is safer than manually rebuilding markup. The biggest gotchas are duplicate IDs, stale `_elementor_element_cache`, stale generated CSS, and width/responsive differences after reducing a grid to one card.
