/*
 * Dark mode scaffold for admin-only preview.
 * Loaded from header.php only for logged-in administrators.
 */


/* Base tokens (adjust first) */

body.is_dark {
    --dark-bg: #121212;
    --dark-surface: #1b1b1b;
    --dark-surface-2: #242424;
    --dark-surface-3: #2d2d2d;
    --dark-text: #f5f5f5;
    --dark-text-muted: #b6b6b6;
    --dark-border: #3a3a3a;
    --dark-border-soft: #4a4a4a;
    --dark-link: #8ab4f8;
    --dark-link-hover: #a8c7fa;
    --dark-overlay: rgba(18, 18, 18, 0.9);
}


/* Global baseline */

body.is_dark {
    background-color: var(--dark-bg);
    color: var(--dark-text);
}


/* Common element defaults */

body.is_dark a {
    color: inherit;
}

body.is_dark a:hover {
    color: #ff24bc;
}

body.is_dark input,
body.is_dark textarea,
body.is_dark select,
body.is_dark button {
    background-color: var(--dark-surface);
    color: var(--dark-text);
    border-color: var(--dark-border);
}

body.is_dark h1,
body.is_dark h2,
body.is_dark h3,
body.is_dark h4,
body.is_dark h5,
body.is_dark h6,
body.is_dark p,
body.is_dark li,
body.is_dark dt,
body.is_dark dd,
body.is_dark th,
body.is_dark td,
body.is_dark label {
    color: var(--dark-text);
}


/* Utility classes often used in themes */

body.is_dark .bg_white {
    background-color: var(--dark-surface) !important;
}

body.is_dark .text_black {
    color: var(--dark-text) !important;
}


/* Header */

body.is_dark .header_contents:after {
    background-color: var(--dark-overlay);
}

body.is_dark .header_box.pc-only ul ul.drop_menu {
    background-color: var(--dark-surface);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

body.is_dark span.a_en {
    color: #707070;
}

body.is_dark .header_box.pc-only ul ul.drop_menu li a {
    color: var(--dark-text);
}

body.is_dark button.menu-trigger span:nth-of-type(1) {
    background-color: #ffffff;
}

body.is_dark button.menu-trigger span {
    background-color: #333333;
    border: 2px solid #ffffff;
}

body.is_dark button.menu-trigger.active span:nth-of-type(1) {
    border: 2px solid #333333;
}

body.is_dark button.menu-trigger.active span:nth-of-type(2) {
    border: 2px solid #333333;
}


/* Site logo inversion (header / top / footer) */

body.is_dark .header_logo img,
body.is_dark .f_logo img,
body.is_dark .s_title_logo img,
body.is_dark .pages_logo img,
body.is_dark .sponsors_bg .spo_logo,
body.is_dark .sponsors_bg .spo_logo img {
    -webkit-filter: brightness(0) invert(1) !important;
    filter: brightness(0) invert(1) !important;
}


/* Main common blocks */

body.is_dark .wh_frame,
body.is_dark .s3_content,
body.is_dark .sc_title,
body.is_dark .f_btns a,
body.is_dark .f_top_menu ul li a,
body.is_dark .company_contents.page_base_contents table tr th,
body.is_dark .company_contents.page_base_contents table tr td,
body.is_dark #cf_7_modal_send {
    background-color: var(--dark-surface);
}

body.is_dark ul.news_list_ul li,
body.is_dark .sponsor_contents,
body.is_dark ul.sns_ul,
body.is_dark .company_contents.page_base_contents table,
body.is_dark .company_contents.page_base_contents table tr th,
body.is_dark .company_contents.page_base_contents table tr td {
    border-color: var(--dark-border-soft);
}


/* Front page sections */

body.is_dark section.s2,
body.is_dark section.s4 {
    background-color: var(--dark-bg);
}

body.is_dark section.s3 {
    background: linear-gradient(180deg, #090909 0%, #0f2744 52%, #3a1427 100%);
}

body.is_dark .s_t_en {
    color: #3e3e3e;
}

body.is_dark .s_title h2 {
    color: var(--dark-text);
}

body.is_dark .s_title h2 span,
body.is_dark .s3_content .s_title h2 span {
    -webkit-text-stroke: 1px #e0e0e0;
    text-stroke: 1px #e0e0e0;
    color: transparent;
}

body.is_dark svg.more_arrow rect {
    fill: var(--dark-surface-2);
}

body.is_dark .news_time_cats time {
    color: var(--dark-text-muted);
}

body.is_dark .news_cat,
body.is_dark a.more_btn,
body.is_dark .yrc-pagination li,
body.is_dark a.tiktok-feed__button {
    background-color: var(--dark-surface-3);
    color: var(--dark-text);
}


/* News category tabs */

body.is_dark .archive_cats_tab ul li a {
    background-color: #2a2a2a;
    border-color: #5a5a5a;
    color: #f2f2f2;
    box-shadow: none;
}

body.is_dark .archive_cats_tab ul li.active a,
body.is_dark .archive_cats_tab ul li a:hover {
    background-color: #f2f2f2;
    border-color: #f2f2f2;
    color: #1a1a1a;
    opacity: 1;
}

body.is_dark .sc_title {
    border-color: #6f6d66;
}

body.is_dark .sc_title p,
body.is_dark .scul_text p {
    color: var(--dark-text-muted);
}

body.is_dark .scul_img {
    background-color: var(--dark-surface-2);
}


/* News detail page: dark outer, white inner content */

body.is_dark main.pages.single_page:not(.member_page):not(.sigle_disco_page) {
    background: linear-gradient(180deg, #111111 0%, #060606 100%) !important;
}

body.is_dark main.pages.single_page .inner.single_inner>.wh_frame {
    background-color: #ffffff;
}

body.is_dark main.pages.single_page .inner.single_inner>.wh_frame .page_base_contents,
body.is_dark main.pages.single_page .inner.single_inner>.wh_frame .page_base_contents h1,
body.is_dark main.pages.single_page .inner.single_inner>.wh_frame .page_base_contents h2,
body.is_dark main.pages.single_page .inner.single_inner>.wh_frame .page_base_contents h3,
body.is_dark main.pages.single_page .inner.single_inner>.wh_frame .page_base_contents h4,
body.is_dark main.pages.single_page .inner.single_inner>.wh_frame .page_base_contents h5,
body.is_dark main.pages.single_page .inner.single_inner>.wh_frame .page_base_contents h6,
body.is_dark main.pages.single_page .inner.single_inner>.wh_frame .page_base_contents p,
body.is_dark main.pages.single_page .inner.single_inner>.wh_frame .page_base_contents li,
body.is_dark main.pages.single_page .inner.single_inner>.wh_frame .page_base_contents th,
body.is_dark main.pages.single_page .inner.single_inner>.wh_frame .page_base_contents td,
body.is_dark main.pages.single_page .inner.single_inner>.wh_frame .single_share {
    color: #333333;
}

body.is_dark main.pages.single_page .inner.single_inner>.wh_frame .page_base_contents a {
    color: #ff6fd3;
}


/* Privacy policy page: dark outer, white inner content */

body.is_dark main.pages.pages_default.pages_privacy-policy,
body.is_dark main.pages.pages_pp {
    background: linear-gradient(180deg, #111111 0%, #060606 100%) !important;
}

body.is_dark main.pages.pages_default.pages_privacy-policy .page_contents.page_base_contents,
body.is_dark main.pages.pages_pp .wh_frame {
    background-color: #ffffff;
}

body.is_dark main.pages.pages_default.pages_privacy-policy .page_contents.page_base_contents,
body.is_dark main.pages.pages_default.pages_privacy-policy .page_contents.page_base_contents h1,
body.is_dark main.pages.pages_default.pages_privacy-policy .page_contents.page_base_contents h2,
body.is_dark main.pages.pages_default.pages_privacy-policy .page_contents.page_base_contents h3,
body.is_dark main.pages.pages_default.pages_privacy-policy .page_contents.page_base_contents h4,
body.is_dark main.pages.pages_default.pages_privacy-policy .page_contents.page_base_contents h5,
body.is_dark main.pages.pages_default.pages_privacy-policy .page_contents.page_base_contents h6,
body.is_dark main.pages.pages_default.pages_privacy-policy .page_contents.page_base_contents p,
body.is_dark main.pages.pages_default.pages_privacy-policy .page_contents.page_base_contents li,
body.is_dark main.pages.pages_default.pages_privacy-policy .page_contents.page_base_contents th,
body.is_dark main.pages.pages_default.pages_privacy-policy .page_contents.page_base_contents td,
body.is_dark main.pages.pages_pp .page_base_contents,
body.is_dark main.pages.pages_pp .page_base_contents h1,
body.is_dark main.pages.pages_pp .page_base_contents h2,
body.is_dark main.pages.pages_pp .page_base_contents h3,
body.is_dark main.pages.pages_pp .page_base_contents h4,
body.is_dark main.pages.pages_pp .page_base_contents h5,
body.is_dark main.pages.pages_pp .page_base_contents h6,
body.is_dark main.pages.pages_pp .page_base_contents p,
body.is_dark main.pages.pages_pp .page_base_contents li,
body.is_dark main.pages.pages_pp .page_base_contents th,
body.is_dark main.pages.pages_pp .page_base_contents td {
    color: #333333;
}

body.is_dark main.pages.pages_default.pages_privacy-policy .page_contents.page_base_contents a,
body.is_dark main.pages.pages_pp .page_base_contents a {
    color: #ff6fd3;
}


/* Company page table: dark cell background */

body.is_dark .company_contents.page_base_contents table tr th,
body.is_dark .company_contents.page_base_contents table tr td {
    background-color: #111111;
}


/* Member detail page */

body.is_dark main.pages.single_page.member_page {
    background: linear-gradient(180deg, #121212 0%, #0b0b0b 100%) !important;
}

body.is_dark main.pages.single_page.member_page section.pages_mv {
    background: transparent;
}

body.is_dark .member_info {
    border: 0;
    border-radius: 12px;
    padding: 24px;
}

@media screen and (max-width: 850px) {
    body.is_dark .member_info {
        border: 1px solid var(--dark-border-soft);
    }
}

body.is_dark .member_name h1,
body.is_dark .member_name h2,
body.is_dark .member_top_text.page_base_contents,
body.is_dark .member_table_wrapper.page_base_contents {
    color: var(--dark-text);
}

body.is_dark .member_name h2 {
    color: var(--dark-text-muted);
}

body.is_dark .member_table_wrapper .s_title h2 {
    color: #f0f0f0;
}

body.is_dark .member_table_wrapper .s_title h2 span {
    -webkit-text-stroke: 1px #f0f0f0;
    text-stroke: 1px #f0f0f0;
    color: transparent;
}

body.is_dark table.member_table {
    border-top-color: var(--dark-border-soft);
}

body.is_dark table.member_table tr th,
body.is_dark table.member_table tr td {
    border-bottom-color: var(--dark-border-soft);
    color: var(--dark-text);
}

body.is_dark .member_img .member_img_bg img {
    opacity: 0.35;
}

body.is_dark .member_sns ul.sns_ul li a {
    background-color: #ffffff;
}


/* Footer */

body.is_dark .f_contents {
    background-color: var(--dark-surface-2);
}

body.is_dark ul.sns_ul li a {
    background-color: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}


/* SNS heading readability */

body.is_dark .f_sns .s_title h2 {
    color: #f5f5f5;
    text-shadow: none;
}

body.is_dark .f_sns .s_title h2 span {
    -webkit-text-stroke: 0;
    text-stroke: 0;
    color: #ff85d7;
}

body.is_dark .copyright {
    background-color: #0f0f0f;
    color: var(--dark-text);
}

body.is_dark .f_btns a {
    border-color: var(--dark-border-soft);
    color: var(--dark-text);
}

body.is_dark .f_btns a.f_line_btn {
    background-color: #089848;
    border-color: #089848;
}


/* Contact form */

body.is_dark .contact-content .contact-form select,
body.is_dark .contact-content .contact-form textarea,
body.is_dark .contact-content .contact-form.cc-text input {
    background-color: #181818;
    border-color: #565656;
    color: var(--dark-text);
    outline-color: #8ab4f8;
}

body.is_dark .contact-content .contact-form select::placeholder,
body.is_dark .contact-content .contact-form textarea::placeholder,
body.is_dark .contact-content .contact-form.cc-text input::placeholder {
    color: #9a9a9a;
}

body.is_dark .contact-form.cc-radio span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item label span::before {
    background: #2b2b2b;
    border-color: #666666;
}

body.is_dark .contact-form.cc-radio span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item label span::after {
    background: #f0f0f0;
}

body.is_dark .contact_contents input[type="checkbox"]+span::before {
    border-color: #666666;
    background-color: #1f1f1f;
}

body.is_dark .contact_contents input[type="file"]::file-selector-button {
    color: var(--dark-text);
    background-color: #2b2b2b;
    border-color: #666666;
}

body.is_dark .contact-submit-btn input {
    background-color: var(--dark-surface-3);
    color: var(--dark-text);
}

body.is_dark #cf_7_modal_send a {
    background-color: #e8e8e8;
    color: #141414;
    border-color: #e8e8e8;
}

body.is_dark #cf_7_modal_send a:hover {
    background-color: transparent;
    color: #e8e8e8;
    border-color: #e8e8e8;
}


/* Inline-styled hashtag marks (e.g. <span class="Zen">#</span>) */

body.is_dark span.Zen[style*="-webkit-text-stroke"][style*="#000000"][style*="color: #fff"],
body.is_dark span.Zen[style*="-webkit-text-stroke"][style*="#000000"][style*="color:#fff"],
body.is_dark span.Zen[style*="-webkit-text-stroke"][style*="#000000"][style*="color: #ffffff"],
body.is_dark span.Zen[style*="-webkit-text-stroke"][style*="#000000"][style*="color:#ffffff"] {
    -webkit-text-stroke: 1px #f5f5f5 !important;
    color: #121212 !important;
}


/* Footer SNS hashtag stays readable on blue area */

body.is_dark .f_sns span.Zen[style*="-webkit-text-stroke"][style*="#000000"][style*="color: #fff"],
body.is_dark .f_sns span.Zen[style*="-webkit-text-stroke"][style*="#000000"][style*="color:#fff"],
body.is_dark .f_sns span.Zen[style*="-webkit-text-stroke"][style*="#000000"][style*="color: #ffffff"],
body.is_dark .f_sns span.Zen[style*="-webkit-text-stroke"][style*="#000000"][style*="color:#ffffff"] {
    -webkit-text-stroke: 1px #111111 !important;
    color: #ffd6f1 !important;
}


/* Keep hamburger modal menu text/hashtag in original style */

body.is_dark .modal__content,
body.is_dark .modal__content a,
body.is_dark .modal__content li,
body.is_dark .modal__content p,
body.is_dark .modal__content span {
    color: #333333 !important;
}

body.is_dark .modal__content span.Zen[style*="-webkit-text-stroke"][style*="#000000"][style*="color: #fff"],
body.is_dark .modal__content span.Zen[style*="-webkit-text-stroke"][style*="#000000"][style*="color:#fff"],
body.is_dark .modal__content span.Zen[style*="-webkit-text-stroke"][style*="#000000"][style*="color: #ffffff"],
body.is_dark .modal__content span.Zen[style*="-webkit-text-stroke"][style*="#000000"][style*="color:#ffffff"] {
    -webkit-text-stroke: 1px #000000 !important;
    color: #ffffff !important;
}


/* Example:
body.is_dark .site-header {
  background-color: var(--dark-surface);
  border-bottom: 1px solid var(--dark-border);
}
*/