/* T149 (client revision 2026-11-02): one layout for the same kind of element on every page.
   Loaded after every other stylesheet. Classes marked t149-* are added by t149-polish.js. */

:root { --t149-accent: #0f75bb; --t149-ink: #294653; }
.heritage-page--environment { --t149-accent: #3f8f55; }
.heritage-page--social { --t149-accent: #d97a2b; }

/* ---------- 1. number cards: left-aligned, small prefix / unit, same number size everywhere ---------- */
html body .page_main .report-kpi__item .report-kpi__content,
html body .page_main .ppt-editorial__block--metric-card { text-align: left !important; }
html body .page_main .report-kpi__item .report-kpi__values,
html body .page_main .report-kpi__item .report-kpi__metric { justify-content: flex-start !important; align-items: flex-start !important; text-align: left !important; }
html body .page_main .report-kpi__item .report-kpi__value,
html body .page_main .ppt-editorial__block--metric-card .ppt-editorial__metric-value {
    display: flex !important;
    flex-wrap: wrap;
    align-items: baseline !important;
    justify-content: flex-start !important;
    column-gap: .22em;
    row-gap: 0;
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
    line-height: 1.15 !important;
}
html body .page_main .report-kpi__item .report-kpi__value > strong,
html body .page_main .ppt-editorial__block--metric-card .ppt-editorial__metric-value > strong {
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
html body .page_main .report-kpi__item .report-kpi__value > span,
html body .page_main .report-kpi__item .report-kpi__value > small,
html body .page_main .ppt-editorial__block--metric-card .ppt-editorial__metric-value > span {
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
    color: inherit;
    margin: 0 !important;
    opacity: .92;
}
@media (max-width: 767.98px) {
    html body .page_main .report-kpi__item .report-kpi__value > strong,
    html body .page_main .ppt-editorial__block--metric-card .ppt-editorial__metric-value > strong { font-size: 26px !important; }
    html body .page_main .report-kpi__item .report-kpi__value > span,
    html body .page_main .report-kpi__item .report-kpi__value > small,
    html body .page_main .ppt-editorial__block--metric-card .ppt-editorial__metric-value > span { font-size: 14px !important; }
}
/* Icons and labels of the editor-built cards line up with the numbers. */
html body .page_main .ppt-editorial__block--metric-card > h4 { text-align: left !important; justify-content: flex-start !important; align-items: flex-start !important; }

/* ---------- 2. recurring section titles: same icon, same size ---------- */
html body .page_main .t149-head {
    display: flex !important;
    align-items: center !important;
    gap: .45em !important;
    text-align: left !important;
}
html body .page_main .t149-head.t149-head > i.t149-hicon {
    flex: 0 0 auto;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    color: var(--t149-accent) !important;
    line-height: 1 !important;
    position: static !important;
}
html body .page_main .t149-head > .t149-hicon::before { display: inline-block; }
html body .page_main .t149-head--sec { font-size: 22px !important; font-weight: 700 !important; color: var(--t149-ink) !important; }
html body .page_main .t149-head--sec > .t149-hicon { font-size: 24px !important; }
html body .page_main .t149-head--sub { font-size: 18px !important; font-weight: 700 !important; line-height: 1.4 !important; color: var(--t149-ink) !important; }
html body .page_main .t149-head--sub > .t149-hicon { font-size: 20px !important; }
html body .page_main .t149-head.t149-head--negative > i.t149-hicon.t149-hicon { color: #c0504d !important; }
html body .page_main .t149-head.t149-head--positive > i.t149-hicon.t149-hicon { color: #2e8b6e !important; }
html body .page_main .t149-head > span { font-size: inherit !important; font-weight: inherit !important; color: inherit !important; }
@media (max-width: 767.98px) {
    html body .page_main .t149-head--sec { font-size: 19px !important; }
    html body .page_main .t149-head--sec > .t149-hicon { font-size: 21px !important; }
    html body .page_main .t149-head--sub { font-size: 16.5px !important; }
    html body .page_main .t149-head--sub > .t149-hicon { font-size: 18px !important; }
}

/* ---------- 3. small content fixes ---------- */
/* 申訴案件統計: the four counts are plain cards, no icon on the first one. */
html body .page_main .ppt-editorial__block--collection > h4 > i,
html body .page_main .ppt-editorial__block--collection > h4 > svg { display: none !important; }
/* 政策承諾 card with "環境：… / 人權：… / 公司治理：…": every line looks the same. */
html body .page_main .ppt-editorial__block.t149-label-lines.t149-label-lines > .t149-line.t149-line {
    display: block !important;
    margin: 0 0 .6em !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    color: var(--t149-ink) !important;
    background: none !important;
    border: 0 !important;
}
html body .page_main .ppt-editorial__block.t149-label-lines.t149-label-lines > .t149-line.t149-line::before,
html body .page_main .ppt-editorial__block.t149-label-lines.t149-label-lines > .t149-line.t149-line::after { content: none !important; display: none !important; }
html body .page_main .t149-label-lines > :last-child { margin-bottom: 0 !important; }
html body .page_main .t149-label-lines > h4 > i,
html body .page_main .t149-label-lines > h5 > i { display: none !important; }
html body .page_main .t149-label-lines.t149-label-lines > * > span { display: inline !important; font-size: inherit !important; font-weight: 400 !important; color: inherit !important; }
html body .page_main .t149-label-lines.t149-label-lines .t149-line-label { font-weight: 700; color: var(--t149-accent); margin-right: .15em; }

/* ---------- 4. tables: amounts line up on the right ---------- */
html body .page_main table .t149-amount { font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (min-width: 768px) {
    html body .page_main table.t149-amount-table { table-layout: fixed !important; }
    html body .page_main table.t149-amount-table tr > :first-child { width: 24% !important; }
}

/* ---------- 5. process steps (誠信經營 檢舉流程 etc.): the step number sits on top of the icon ring ---------- */
html body .page_main .report-flow__node--step .report-flow__label {
    z-index: 4 !important;
    transform: translate(6px, -4px);
    box-shadow: 0 0 0 3px #fff;
}
