#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""首图版字体强化补丁（借鉴参考方案的字体特点，仅改字体，不改设计语言）
① 主标题 84→96 + 深色描边 + 硬阴影（全实色，不用渐变填充）
② 副标题加粗提亮（与主标题拉开落差）
③ 促销日期加硬阴影（第二视觉落点）
④ 小节标题「产品特点」改彩色胶囊（白字压青底）
⑤ 三个卖点加 01/02/03 编号
"""
import os
f = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
                 '脚本/gen_promo_poster_short.py')
t = open(f, encoding='utf-8').read()
n = 0

R = [
    # ① 主标题：立体感（描边在填充之下，保持实心锐利；不用 background-clip 渐变填充）
    ('h1{font-size:84px;line-height:1.16;font-weight:900;color:#fff;letter-spacing:-1px;position:relative;z-index:2}',
     'h1{font-size:96px;line-height:1.14;font-weight:900;color:#fff;letter-spacing:-2px;position:relative;z-index:2;\n'
     '  -webkit-text-stroke:5px #0A2A66;paint-order:stroke fill;\n'
     '  text-shadow:7px 7px 0 rgba(9,26,58,.42)}'),
    # ② 副标题
    ('.sub{font-size:48px;color:rgba(255,255,255,.94);line-height:1.36;margin-top:12px',
     '.sub{font-size:48px;font-weight:700;color:#fff;line-height:1.32;margin-top:10px'),
    # ③ 促销日期
    ('.pd{font-size:84px;font-weight:900;color:#fff;line-height:1.1;letter-spacing:-1px}',
     '.pd{font-size:84px;font-weight:900;color:#fff;line-height:1.1;letter-spacing:-1px;text-shadow:5px 5px 0 rgba(120,20,60,.32)}'),
    # ④ 小节标题 → 胶囊
    ('.fh{font-size:48px;font-weight:900;color:#00786F;padding:16px 0 2px;display:flex;align-items:center;gap:14px}',
     '.fh{display:inline-flex;align-items:center;gap:12px;margin:16px 0 4px;padding:8px 22px;border-radius:999px;\n'
     '  font-size:48px;font-weight:900;color:#fff;background:linear-gradient(115deg,#00A99E,#0C8E85);\n'
     '  box-shadow:0 8px 20px rgba(0,169,158,.28)}'),
    ('.fh i{width:10px;height:48px;border-radius:5px;background:#00A99E;display:block;flex:0 0 10px}',
     '.fh i{width:12px;height:12px;border-radius:3px;background:rgba(255,255,255,.92);display:block;flex:0 0 12px;'
     'transform:rotate(45deg)}'),
    # ⑤ 卖点编号样式
    ('.ft{font-size:48px;font-weight:900;color:#0B3B38;line-height:1.2}',
     '.ft{font-size:48px;font-weight:900;color:#0B3B38;line-height:1.2}\n'
     '.ft em{font-style:normal;color:#00A99E;margin-right:12px}'),
    # 字号白名单同步（仍为 3 种）
    ("FS_ALLOWED = {'84px', '48px', '30px'}", "FS_ALLOWED = {'96px', '48px', '30px'}"),
    # 卖点行加编号
    ("    rows = ''.join('<div class=\"fr\"><div class=\"fi\">%s</div><div><div class=\"ft\">%s</div>'\n"
     "                   '<div class=\"fd\">%s</div></div></div>' % (ICON[ic], t, d) for ic, t, d in items)",
     "    rows = ''.join('<div class=\"fr\"><div class=\"fi\">%s</div><div><div class=\"ft\"><em>%02d</em>%s</div>'\n"
     "                   '<div class=\"fd\">%s</div></div></div>' % (ICON[ic], i, t, d)\n"
     "                   for i, (ic, t, d) in enumerate(items, 1))"),
]
for a, b in R:
    if a in t:
        t = t.replace(a, b, 1); n += 1
    else:
        print('  ⚠️ 未命中: %s' % a[:60])
open(f, 'w', encoding='utf-8').write(t)
print('  ✅ 字体强化已应用 %d/%d 处（字号白名单 96/48/30）' % (n, len(R)))
