/**
 * Theme Variables CSS
 * This file contains CSS custom properties for theme management
 */

:root {
  /* Default ESGI Theme Colors */
  --theme-main: #44884E;
  --theme-sub: #306CC0;
  --theme-sub2: #002C34;
  --theme-header-special: #306CC0;

  /* Theme-aware color variables for easier usage */
  --primary-color: var(--theme-main);
  --secondary-color: var(--theme-sub);
  --tertiary-color: var(--theme-sub2);
  --header-special-color: var(--theme-header-special);
}

/* KPC Theme Override */
[data-theme="KPC"] {
  --theme-main: #d1102d;
  --theme-sub: #d1102d;
  --theme-sub2: #d1102d;
  --theme-header-special: #ee2c49;
}

/* Theme-aware classes */
.theme-main-color {
  color: var(--theme-main) !important;
}

.theme-main-bg {
  background-color: var(--theme-main) !important;
}

.theme-sub-color {
  color: var(--theme-sub) !important;
}

.theme-sub-bg {
  background-color: var(--theme-sub) !important;
}

.theme-sub2-color {
  color: var(--theme-sub2) !important;
}

.theme-sub2-bg {
  background-color: var(--theme-sub2) !important;
}

.theme-header-special-color {
  color: var(--theme-header-special) !important;
}

.theme-header-special-bg {
  background-color: var(--theme-header-special) !important;
}

/* Button theme variants */
.btn-theme-main {
  background-color: var(--theme-main);
  border-color: var(--theme-main);
  color: #fff;
}

.btn-theme-main:hover {
  background-color: var(--theme-main);
  filter: brightness(0.9);
  border-color: var(--theme-main);
}

.btn-theme-sub {
  background-color: var(--theme-sub);
  border-color: var(--theme-sub);
  color: #fff;
}

.btn-theme-sub:hover {
  background-color: var(--theme-sub);
  filter: brightness(0.9);
  border-color: var(--theme-sub);
}

/* Link theme variants */
.link-theme-main {
  color: var(--theme-main);
}

.link-theme-main:hover {
  color: var(--theme-main);
  filter: brightness(0.8);
}

.link-theme-sub {
  color: var(--theme-sub);
}

.link-theme-sub:hover {
  color: var(--theme-sub);
  filter: brightness(0.8);
}

/* Border theme variants */
.border-theme-main {
  border-color: var(--theme-main) !important;
}

.border-theme-sub {
  border-color: var(--theme-sub) !important;
}

.border-theme-sub2 {
  border-color: var(--theme-sub2) !important;
}

/* Text theme variants */
.text-theme-main {
  color: var(--theme-main) !important;
}

.text-theme-sub {
  color: var(--theme-sub) !important;
}

.text-theme-sub2 {
  color: var(--theme-sub2) !important;
}

/* Background theme variants */
.bg-theme-main {
  background-color: var(--theme-main) !important;
}

.bg-theme-sub {
  background-color: var(--theme-sub) !important;
}

.bg-theme-sub2 {
  background-color: var(--theme-sub2) !important;
}

/* Hover variants */
.hover-theme-main:hover {
  color: var(--theme-main) !important;
}

.hover-bg-theme-main:hover {
  background-color: var(--theme-main) !important;
}

.hover-theme-sub:hover {
  color: var(--theme-sub) !important;
}

.hover-bg-theme-sub:hover {
  background-color: var(--theme-sub) !important;
}

/* Footer logo white filter */
footer .footer-left-logo img {
  filter: brightness(0) invert(1);
}/* KPC Theme Color Overrides for #1592E6 -> #d1102d */
[data-theme="KPC"] .button-box .btn-skyblue {
  background: #d1102d !important;
}

[data-theme="KPC"] .check-basic-box input[type=checkbox]:checked ~ label:before {
  background-color: #d1102d !important;
}

[data-theme="KPC"] .input-box a.btn {
  background: #d1102d !important;
}

[data-theme="KPC"] .file-box > div > p a {
  color: #d1102d !important;
}

[data-theme="KPC"] .dashboard-box .board-left .board-left-category ul li.active a {
  color: #d1102d !important;
}

[data-theme="KPC"] .board-company-box > ul > li.active {
  border-color: #d1102d !important;
}

[data-theme="KPC"] .board-graph-box .graph-02.blue .graph-inner .inner-title h2 b {
  background: #d1102d !important;
}

[data-theme="KPC"] .board-graph-box .graph-02.blue .graph-inner .inner-title strong {
  color: #d1102d !important;
}

[data-theme="KPC"] .board-graph-box .graph-02.blue .graph-inner .inner-bar > div {
  background: #d1102d !important;
}

[data-theme="KPC"] .board-graph-box .graph-02.blue .graph-inner .inner-bar > div b {
  color: #d1102d !important;
}

[data-theme="KPC"] .board-graph-box .graph-04 > ul > li .graph-right > div.bar03 {
  background: #d1102d !important;
}

[data-theme="KPC"] .board-graph-box .graph-05 .graph-inner > div {
  background: #d1102d !important;
}

[data-theme="KPC"] .board-graph-box .graph-05 .graph-inner > div:after {
  border-color: #d1102d !important;
}

[data-theme="KPC"] .board-list-box .list-body .list-body-graph > ul > li .graph-right .graph-right-percent.blue > div {
  background: #d1102d !important;
}

[data-theme="KPC"] .reg-select-box > a:hover {
  border-color: #d1102d !important;
}

[data-theme="KPC"] .reg-select-box > a:hover .button > * {
  background: #d1102d !important;
  border-color: #d1102d !important;
}

[data-theme="KPC"] .step-box ul li.active em {
  color: #d1102d !important;
}

[data-theme="KPC"] .step-box ul li.active p {
  color: #d1102d !important;
}

[data-theme="KPC"] .step-box ul li.active div.bar {
  background: #d1102d !important;
}

[data-theme="KPC"] .board-write-box > ul > li .write-content .content-group .group-title a {
  color: #d1102d !important;
}

[data-theme="KPC"] .board-list-box table tr td.num.notice {
  color: #d1102d !important;
}

[data-theme="KPC"] .mypage-table-box table tbody tr td a.update {
  color: #d1102d !important;
}

[data-theme="KPC"] .check-list-box2 .check input:checked ~ label {
  background: #d1102d !important;
  border-color: #d1102d !important;
}

[data-theme="KPC"] .solution-box h2 strong:before {
  background: #d1102d !important;
}

[data-theme="KPC"] .solution-box .solution-service .service-bottom ul li:after {
  background: #d1102d !important;
}

[data-theme="KPC"] .solution-box .solution-contact a {
  background: #d1102d !important;
}

[data-theme="KPC"] .risk-box h2 strong:before {
  background: #d1102d !important;
}

[data-theme="KPC"] .print-step-box .print-step-list ul li.on:before {
  background: #d1102d !important;
}

[data-theme="KPC"] .print-step-box .print-step-list ul li.active small {
  color: #d1102d !important;
}

[data-theme="KPC"] .print-step-box .print-step-list ul li.active p {
  color: #d1102d !important;
}

[data-theme="KPC"] .print-step-box .print-step-list ul li.active p b {
  color: #d1102d !important;
}

/* Generic overrides for any remaining #1592E6 colors in inline styles */
[data-theme="KPC"] [style*="background:#1592E6"],
[data-theme="KPC"] [style*="background-color:#1592E6"] {
  background-color: #d1102d !important;
}

[data-theme="KPC"] [style*="color:#1592E6"] {
  color: #d1102d !important;
}

[data-theme="KPC"] [style*="border-color:#1592E6"] {
  border-color: #d1102d !important;
}

[data-theme="KPC"] [style*="border:#1592E6"] {
  border-color: #d1102d !important;
}

/* KPC Theme Color Overrides for #306CC0 -> #d1102d */
[data-theme="KPC"] header .header-main .header-main-cate ul li:hover > dl {
  background: #d1102d !important;
}

[data-theme="KPC"] header .header-fixed .fixed-body ul li.active > a {
  color: #d1102d !important;
}

/* Generic overrides for #306CC0 colors */
[data-theme="KPC"] [style*="color:#306CC0"],
[data-theme="KPC"] [style*="color:#306cc0"] {
  color: #d1102d !important;
}

[data-theme="KPC"] [style*="background:#306CC0"],
[data-theme="KPC"] [style*="background:#306cc0"],
[data-theme="KPC"] [style*="background-color:#306CC0"],
[data-theme="KPC"] [style*="background-color:#306cc0"] {
  background-color: #d1102d !important;
}

[data-theme="KPC"] [style*="border-color:#306CC0"],
[data-theme="KPC"] [style*="border-color:#306cc0"] {
  border-color: #d1102d !important;
}

/* KPC Theme Color Overrides for #1C70AE -> #d1102d */
[data-theme="KPC"] .ft-blue {
  color: #d1102d !important;
}

[data-theme="KPC"] .btn-blue {
  background: #d1102d !important;
}

[data-theme="KPC"] .sub-box .sub-left-box .sub-left-body .sub-left-category > ul > li.active > *:not(div) p {
  color: #d1102d !important;
}

[data-theme="KPC"] .sub-box .sub-left-box .sub-left-body .sub-left-category > ul > li > div > ul > li > ul > li.active > button * {
  color: #d1102d !important;
}

[data-theme="KPC"] .sub-box .sub-left-box .sub-left-body .sub-left-category > ul > li.active > div > ul > li.active button p,
[data-theme="KPC"] .sub-box .sub-left-box .sub-left-body .sub-left-category > ul > li.active > div > ul > li.active button p b {
  color: #d1102d !important;
}

[data-theme="KPC"] .sub-box .sub-left-box .sub-left-body .sub-left-category > ul > li.active > div > ul > li.active button div.graph > em {
  color: #d1102d !important;
}

[data-theme="KPC"] .sub-box .sub-left-box .sub-left-body .sub-left-category > ul > li.active > div > ul > li.active button div.graph > div {
  border-color: #d1102d !important;
}

[data-theme="KPC"] .sub-box .sub-left-box .sub-left-body .sub-left-category > ul > li.active > div > ul > li.active button div.graph > div span {
  background: #d1102d !important;
}

[data-theme="KPC"] .sub-box .sub-left-box .sub-left-body .sub-left-category > ul > li > div > ul > li > ul > li > ul > li.active > a {
  color: #d1102d !important;
}

[data-theme="KPC"] .file-list-box .file-button > a {
  background: #d1102d !important;
}

[data-theme="KPC"] .list-top-box .list-top-filter ul li.active a {
  color: #d1102d !important;
}

[data-theme="KPC"] .check-list-box > ul > li .list-body a.blue {
  background: #d1102d !important;
}

[data-theme="KPC"] .agree-list-box > .list-body > ul > li .list-head div input:checked ~ label,
[data-theme="KPC"] .agree-list-box > .list-foot .list-foot-space div input:checked ~ label {
  background: #d1102d !important;
}

[data-theme="KPC"] .agree-list-box > .list-foot .list-foot-button a {
  background: #d1102d !important;
}

[data-theme="KPC"] .table-graph-box > div span {
  background: #d1102d !important;
}

[data-theme="KPC"] .progress-box .pro-head p b {
  color: #d1102d !important;
}

[data-theme="KPC"] .progress-box .pro-body > div .bar {
  background: #d1102d !important;
}

[data-theme="KPC"] .main-box .main-news .news-left strong:before {
  background: #d1102d !important;
}

[data-theme="KPC"] .main-box .main-service .main-service-inner .service-right ul li a strong {
  color: #d1102d !important;
}

[data-theme="KPC"] .title-box small,
[data-theme="KPC"] .write-box ul li .list-title small {
  color: #d1102d !important;
}

[data-theme="KPC"] .faq-list-box > ul > li .list-head .name {
  background: #d1102d !important;
}

[data-theme="KPC"] .m-state.type01.ONGOING_INVESTGATE {
  color: #d1102d !important;
}

[data-theme="KPC"] .accent {
  color: #d1102d !important;
}

/* Generic overrides for #1C70AE colors */
[data-theme="KPC"] [style*="color:#1C70AE"],
[data-theme="KPC"] [style*="color:#1c70ae"] {
  color: #d1102d !important;
}

[data-theme="KPC"] [style*="background:#1C70AE"],
[data-theme="KPC"] [style*="background:#1c70ae"],
[data-theme="KPC"] [style*="background-color:#1C70AE"],
[data-theme="KPC"] [style*="background-color:#1c70ae"] {
  background-color: #d1102d !important;
}

[data-theme="KPC"] [style*="border-color:#1C70AE"],
[data-theme="KPC"] [style*="border-color:#1c70ae"],
[data-theme="KPC"] [style*="border:#1C70AE"],
[data-theme="KPC"] [style*="border:#1c70ae"] {
  border-color: #d1102d !important;
}