/*
Theme Name:     Hartwell Maritime Child
Theme URI:      https://hartwellmaritime.com/
Description:    Child theme pentru GeneratePress Pro — site Hartwell Maritime SRL (recrutare + subcontractare forță de muncă maritimă). Arhitectură multilingvă custom, zero dependență plugin i18n plătit. 7 limbi înregistrate în registry (EN+RO active la launch; FR+DE+NL+NB+IT scheletoane).
Author:         Hartwell Maritime
Author URI:     https://hartwellmaritime.com/
Template:       generatepress
Version:        2.0.6
Requires at least: 6.0
Tested up to:   6.5
Requires PHP:   7.4
Text Domain:    hwm
Domain Path:    /languages
License:        Proprietary — Hartwell Maritime SRL
*/

/*
 * ───────────────────────────────────────────────────────────────
 * Faza 2 — COMPLETĂ (2.1 + 2.2 + 2.3 + 2.4).
 *
 * Acest fișier conține DOAR header-ul obligatoriu de child theme.
 * CSS-ul real navy/gold este în:
 *   assets/css/hwm-custom.css  (încărcat separat via wp_enqueue_style)
 *
 * Istoricul versiunilor:
 *   2.0-alpha1 — Faza 2.1: schelet + infra multilingv (7 PHP)
 *   2.0-alpha2 — Faza 2.2: frontend (CSS + JS + 14 template-parts +
 *                           8 page-templates + 4 stub rewrite-uri cu fix §2.5)
 *   2.0-beta   — Faza 2.3: .pot + hwm-en_GB.po/.mo + hwm-ro_RO.po/.mo
 *   2.0        — Faza 2.4: scheletoane 5 limbi (FR/DE/NL/NB/IT) + 4 CF7 markup
 *                          + wp-config snippet + 3 README + build-zip.sh
 *                          + screenshot.png + Release Candidate.
 *   2.0.1      — Fix B-HWM-19 (18 Apr 2026): `inc/multilingual.php` —
 *                  adăugare filtru `option_page_on_front` care rutează
 *                  dinamic homepage-ul static la traducerea limbii curente.
 *                  Rezolvă 404-ul previzibil pe `hartwellmaritime.ro/`
 *                  cauzat de interacțiunea page_on_front global + filtrul
 *                  pre_get_posts. Zero breaking changes pe `.com`. Livrat
 *                  în Hartwell_Installers_v1.0.4.
 *   2.0.2      — Fix-uri sesiune audit 4 (18 Apr 2026):
 *                  • B-HWM-24 (🔴) `inc/hwm-language-registry.php` §RO —
 *                    slug_map.ro.contact aliniat cu slug-ul real creat de
 *                    installer (`contact-ro`, nu `contact`). Anterior:
 *                    toate link-urile „Contact" construite prin
 *                    hwm_get_slug_for_group('ro', 'contact') pe `.ro` duceau
 *                    la 404 (pointau la /contact/ = EN Contact, filtrat de
 *                    pre_get_posts).
 *                  • B-HWM-27 (🟡) `inc/hwm-hreflang.php` — tratament
 *                    explicit pentru is_front_page(): folosește
 *                    hwm_get_homepage_url() pentru toate limbile (self +
 *                    cross) în loc de get_permalink() care, pe .ro, pentru
 *                    EN_HOME_ID returnează slug-ul /home/ (pentru că
 *                    option_page_on_front filtrat = RO_HOME_ID pe .ro, deci
 *                    EN_HOME nu mai e „recunoscut" ca page_on_front).
 *                  Livrat în Hartwell_Installers_v1.0.5.
 *   2.0.3      — Fix sesiune audit 6 (18 Apr 2026):
 *                  • B-HWM-32 (🟢) `template-parts/workers-form.php` — eliminat
 *                    ternarul dead-code `('ro'===HWM_LANG) ? '{{CF7_B2C_RO}}'
 *                    : '{{CF7_B2C_RO}}'` (ambele ramuri identice) cu o atribuire
 *                    directă a placeholder-ului RO. Comportament runtime neschimbat;
 *                    codul devine lizibil și transparent în intenție.
 *                  Livrat în Hartwell_Installers_v1.0.6.
 *   2.0.4      — Fix sesiune audit 7 (18 Apr 2026):
 *                  • B-HWM-40 (🔴 CRITIC) refactor integrare CF7: template-urile
 *                    `home-contact.php`, `workers-form.php`, `page-templates/
 *                    template-contact.php` aveau pattern-ul `$placeholder =
 *                    '{{CF7_XXX}}'` + `if strpos($placeholder, '{{CF7_')`
 *                    (guard care returna mereu true) + `else do_shortcode`
 *                    (ramură COD MORT — never reached). Singurul mecanism
 *                    de substituire era `ob_start()` din MU-plugin care
 *                    făcea str_replace pe buffer-ul final — dar ob_start()
 *                    rulează DUPĂ procesarea shortcode-urilor WP → string-ul
 *                    `[contact-form-7 id="N"]` ajungea la browser ca TEXT
 *                    LITERAL, nu ca formular randat. Fix: helper nou
 *                    `hwm_get_cf7_shortcode($slot)` în `inc/multilingual.php
 *                    §6` care citește direct opțiunea `hwm_cf7_ids`
 *                    (populată de installer) și returnează shortcode-ul
 *                    corect. Template-urile sunt refactorizate să apeleze
 *                    `do_shortcode()` în timpul randării (BEFORE output).
 *                  Livrat în Hartwell_Installers_v1.0.7.
 *   2.0.5      — Fix-uri sesiune deploy LIVE (20-21 Apr 2026) — integrare
 *                permanentă a 4 hot-fix-uri MU-plugins în functions.php:
 *                  • B-INST-08 (🔴) load_textdomain('hwm', $path/hwm-{locale}.mo)
 *                    direct în loc de load_theme_textdomain (care caută
 *                    {locale}.mo fără prefix) — anterior __() returna msgid EN
 *                    pe .ro deși <html lang="ro-RO"> era corect.
 *                  • B-INST-05 (🔴) filtre 'locale' + 'determine_locale' pentru
 *                    __() global + <html lang> — anterior WP folosea locale-ul
 *                    global din wp_options.WPLANG (en_US) chiar pe .ro.
 *                  • B-INST-11 (🟡) filtre 'option_home' + 'option_siteurl' per
 *                    HTTP_HOST — Yoast + alte plugin-uri citesc direct din DB,
 *                    nu WP_HOME constant; URL-urile generate runtime apăreau cu
 *                    domeniu greșit.
 *                  • B-INST-12 (🟡) filtre 'wpseo_canonical' + 'wpseo_opengraph_url'
 *                    per HTTP_HOST — Yoast Indexables generează canonical din
 *                    cache DB salvat în WP-CLI fără HTTP_HOST → URL-uri salvate
 *                    cu http://hartwellmaritime.com/ chiar pe paginile .ro.
 *                Plus normalizare /home/ și /home-ro/ → / pe homepage-uri.
 *                Livrat în Hartwell_Installers_v1.0.8.
 *   2.0.6      — Fix critic LIVE (21 Apr 2026):
 *                  • B-INST-04 (🔴 CRITIC) `inc/multilingual.php` — guard
 *                    anti-recursivitate în hwm_filter_option_page_on_front().
 *                    WP_Query intern din hwm_get_post_in_lang() re-declanșa
 *                    filter-ul option_page_on_front înainte ca cache-ul local
 *                    să fie populat → recursie infinită → memory exhausted
 *                    512MB → HTTP 500 pe homepage .ro. Fix: static
 *                    $in_progress flag (linii 397-437). Anterior fix-ul era
 *                    aplicat manual ca patch pe server post-deploy; acum
 *                    integrat permanent în temă.
 *                  Identificat în upgrade-ul live de la v2.0.4 → v2.0.5
 *                  când lipsa fix-ului a cauzat HTTP 500 pe .ro.
 *
 * Următorul bump:
 *   3.0        — Faza 3: populat hwm-fr_FR.po/.mo + adăugare Franța în Markets
 *   4.0        — Faza 4 (ops server): installers + DNS + deploy.
 * ───────────────────────────────────────────────────────────────
 */
