#!/usr/bin/env python3
"""studiosoft_hc43_carousel_gen.py — StudioSoft Healthcare Carousel hc43 (RE-AIR).

Topik : "Kenapa Rumah Sakit dan Klinik Wajib Punya Strategi Digital Marketing di 2026"
Artikel: https://studiosoft.id/rs-klinik-digital-marketing-2026/

Konteks run 22 Sep 2026 (02:00 WIB / 21 Sep 19:00 UTC):
- Stok artikel healthcare BARU masih HABIS (WP REST 21 Sep: 25 artikel terbaru, terbaru
  20 Sep `jasa-branding-surabaya-membangun-identitas-brand-kuat` = non-healthcare).
- Audit 2.826 jadwal Repliz (URL-presisi, /tmp/repliz_all_20260921.json):
  * Threads SS -> artikel ini TERAKHIR tayang carousel 27 Agu 2026 (hc22), belum pernah
    di-re-air, jadi kandidat re-air paling tua.  (candidate lain: google-business-profile-klinik
    29 Agu, social-media-rumah-sakit-efektif 30 Agu).
  * Slide WAJIB nama file BARU: `ss_hc43_dmrs26_*` (mitigasi error media-fetch Repliz).

Standar desain Bos 16 Sep 2026: engine ss_carousel_lib.py -> rata kiri, satu blok di
tengah vertikal, TANPA separator, bullet dot, bg BIRU TUA #122B63, judul Poppins-Bold 85 /
body 36 / sub 30, auto-fit. Resolusi 1080x1350 (4:5).
"""
import os
import sys

from PIL import Image

sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import ss_carousel_lib as L

WS = "/home/mantapman/.hermes/profiles/atun/workspace"   # JANGAN pakai expanduser("~"):
# HOME di profil ini = /home/mantapman/.hermes/profiles/atun/home (bukan /home/mantapman).
OUT_DIR = os.path.join(WS, "studiosoft_hc43_carousel")
TAG = "#digitalmarketingrs"
BG = (18, 43, 99)      # #122B63 — warna baku Bos (16 Sep 2026)
SKY = L.SKY


def mk(num, total=5):
    return L.Slide(num, total, TAG, bg=BG)


def s1():
    s = mk(1)
    s.title([("PASIEN 2026", SKY), "SUDAH PINDAH", "KE GOOGLE"], after=50)
    s.lead("Dulu orang sakit tanya tetangga atau buka Yellow Pages. Sekarang mereka buka "
           "Google, bandingkan tiga RS dari website, cek review, baru booking.", after=38)
    s.para("Digital marketing bukan lagi pilihan, tapi keharusan.", size=30)
    return s.render("ss_hc43_dmrs26_01_cover.png", OUT_DIR)


def s2():
    s = mk(2)
    s.title([("DATA", SKY), "PERILAKU PASIEN"], after=46)
    s.bullets([
        ("77%", "pasien cari informasi RS secara online sebelum booking."),
        ("63%", "memilih RS berdasarkan review dan rating online."),
        ("4 dari 5", "lebih percaya RS yang rajin berbagi edukasi kesehatan."),
        ("Google Maps", "platform nomor satu mencari lokasi klinik dan RS."),
    ], gap=28, name_size=40, desc_size=28)
    s.para("Pasien makin digital-savvy. Yang lambat beradaptasi kehilangan pasien.", size=30, after=0)
    return s.render("ss_hc43_dmrs26_02_data.png", OUT_DIR)


def s3():
    s = mk(3)
    s.title([("TANPA STRATEGI", SKY), "DIGITAL?"], after=46)
    s.bullets([
        ("Tenggelam di Google", "pasien tidak menemukan layanan Anda."),
        ("Ketinggalan kompetitor", "RS lain sudah muncul di Maps dengan review."),
        ("Kepercayaan turun", "milenial dan Gen Z menilai RS tanpa jejak online."),
        ("Biaya lebih mahal", "billboard dan brosur sulit diukur ROI-nya."),
    ], gap=28, name_size=38, desc_size=28)
    return s.render("ss_hc43_dmrs26_03_risiko.png", OUT_DIR)


def s4():
    s = mk(4)
    s.title([("MULAI DARI", SKY), "5 LANGKAH INI"], after=46)
    s.bullets([
        ("Google Business Profile", "jam buka, kontak, alamat akurat dan lengkap."),
        ("Website mobile-friendly", "profil dokter, layanan, dan fitur booking online."),
        ("Konten edukasi dokter", "rutin di Instagram dan Facebook, tetap etis."),
        ("SEO lokal", "klinik gigi Surabaya, dokter anak Surabaya, dan sejenisnya."),
        ("Kelola review", "tanggapi semua ulasan, termasuk yang negatif."),
    ], gap=26, name_size=36, desc_size=28)
    return s.render("ss_hc43_dmrs26_04_langkah.png", OUT_DIR)


def s5():
    s = mk(5)
    s.title([("TERUKUR,", SKY), "BUKAN COBA-COBA"], after=48)
    s.lead("SEO, website, sosial media, dan data analytics harus jalan terintegrasi "
           "supaya jumlah pasien baru benar-benar naik dan bisa diukur.", after=38)
    s.para("Butuh partner digital marketing untuk RS atau klinik Anda?", size=30, after=10)
    s.h2("www.studiosoft.id", size=40)
    return s.render("ss_hc43_dmrs26_05_cta.png", OUT_DIR)


if __name__ == "__main__":
    print("StudioSoft Healthcare Carousel hc43 \u2014 RS & Klinik Wajib Digital Marketing 2026")
    print("=" * 70)
    for fn in (s1, s2, s3, s4, s5):
        p = fn()
        print("OK %s %s %d bytes" % (p, Image.open(p).size, os.path.getsize(p)))
    print("OK 5 slide -> %s" % OUT_DIR)
