/* 여행 안내 페이지의 명시적 구성요소만 테마화한다. 은행 로고, 지도, 카드사 배지는 원본 색상을 유지한다. */
body.ttonang-theme :is(.trafficInfo_container,.material_container,#bankAtm-guideWrapper,#help-headerSection,.help_category_section) {
    background: var(--tt-surface); color: var(--tt-text); border: 1px solid var(--tt-accent); border-radius: 12px; box-shadow: none;
}
body.ttonang-theme :is(.trafficInfo_heading,.material_container h1,#bankAtm-headerSection h1,#help-headerSection h1) { text-shadow: none; }
body.ttonang-theme :is(.trafficInfo_intro,.trafficInfo_disclaimer,#bankAtm-headerSection p,#help-headerSection p,.material_empty-message) { color: var(--tt-muted); }
body.ttonang-theme :is(.trafficInfo_accordionPanel,.trafficInfo_results,.trafficInfo_priceCategory,.trafficInfo_selectors,.material_accordion-content,.material_item-label,.material_layout-button,.bankAtm-atm-item,.bankAtm-accordion-content,.bankAtm-card-summary,.bankAtm-notes,.bankAtm-tips-section li,.bankAtm-modal-content,.help_category_nav,.help_category_content,.help_item_list,.help_item,.help_category_nav_btn),
body.ttonang-theme :is(#bankAtm-filterSection,#bankAtm-atmGuideContainer li) {
    background: var(--tt-raised); color: var(--tt-text); border-color: var(--tt-border); box-shadow: none;
}
body.ttonang-theme :is(.trafficInfo_appGuide h3,.trafficInfo_resultsHeading,.trafficInfo_priceCategory h4,.trafficInfo_priceLabel,.trafficInfo_selectors label,.bankAtm-filter-group label,.bankAtm-atm-item-detail,.bankAtm-atm-item-detail strong,.bankAtm-supported-cards-title,.bankAtm-card-summary p,.bankAtm-tips-section li div,.bankAtm-close-button,.help_detail_info strong,.help_detail_info .info_label) { color: var(--tt-text); }
body.ttonang-theme :is(.trafficInfo_priceTable th,.trafficInfo_priceTable tbody tr:nth-child(even)) { background: var(--tt-raised); }
body.ttonang-theme :is(.trafficInfo_priceTable th,.trafficInfo_priceTable td,.trafficInfo_disclaimer,.material_accordion-item,#material_myPackingList,.bankAtm-accordion-section,.help_detail_panel) { border-color: var(--tt-border); }
body.ttonang-theme :is(.trafficInfo_accordionHeader,.material_accordion-header,.help_category_toggle,.bankAtm-accordion-header) { background: var(--tt-accent); color: var(--tt-accent-text); box-shadow: none; }
body.ttonang-theme .bankAtm-accordion-header :is(h2,.bankAtm-accordion-icon) { color: var(--tt-accent-text); text-shadow: none; }
body.ttonang-theme :is(.trafficInfo_selectors select,.material_quantity-control input.material_item-quantity,.bankAtm-filter-group input[type="text"]) { background-color: var(--tt-bg); color: var(--tt-text); border-color: var(--tt-border); min-height: 44px; font-size: 16px; }
body.ttonang-theme .trafficInfo_selectors select { background-image: none; appearance: auto; }
body.ttonang-theme .trafficInfo_tipsAccordionHeader.trafficInfo_pulse { animation: none; }
body.ttonang-theme .trafficInfo_noData { color: #ffaaa4; }

body.ttonang-theme .material_container {
    --primary-light-color: #352519; --border-color: var(--tt-border); --border-hover-color: var(--tt-accent);
    --text-color: var(--tt-text); --title-bg-color: var(--tt-raised); --title-text-color: var(--tt-accent);
    --shadow-color: transparent; --selected-bg-color: #352519;
}
body.ttonang-theme :is(.material_selected-item:hover,.material_item-label:hover:not(.processing),.material_layout-button:hover,.material_layout-button.active) { background: #352519; color: var(--tt-text); }
body.ttonang-theme .material_item-label.selected { background: #352519; color: var(--tt-accent); border-color: var(--tt-accent); }
body.ttonang-theme #material_selectedItems .material_selected-item { border-color: var(--tt-border); }
body.ttonang-theme :is(.material_quantity-toggle,.material_quantity-toggle:hover) { color: var(--tt-muted); }
body.ttonang-theme #material_shareButton { color: var(--tt-accent-text); box-shadow: none; }
body.ttonang-theme #material_resetButton { background: var(--tt-raised); color: var(--tt-text); border: 1px solid var(--tt-border); box-shadow: none; }
body.ttonang-theme .material_remove-item { color: #ff9696; }

body.ttonang-theme #bankAtm-headerSection { background: transparent; }
body.ttonang-theme :is(.bankAtm-button-group button,.bankAtm-checkbox-group label) { background: var(--tt-surface); color: var(--tt-text); border-color: var(--tt-border); box-shadow: none; }
body.ttonang-theme .bankAtm-button-group button.bankAtm-active { background: var(--tt-accent); color: var(--tt-accent-text); border-color: var(--tt-accent); }
body.ttonang-theme :is(.bankAtm-checkbox-group label:hover,.bankAtm-card-summary:hover,.bankAtm-tips-section li:hover,#bankAtm-atmGuideContainer li:hover) { background: #352519; box-shadow: none; }
body.ttonang-theme :is(.bankAtm-checkbox-group input:checked + span,.bankAtm-map-link,.bankAtm-card-summary h3,.bankAtm-card-summary p small,#bankAtm-filterResultCount,#bankAtm-modalTitle,#bankAtm-modalDetails .atm-guide-steps li strong) { color: var(--tt-accent); }
body.ttonang-theme #bankAtm-modalDetails :is(th,td,.atm-guide-steps li) { color: var(--tt-text); border-color: var(--tt-border); }
body.ttonang-theme #bankAtm-modalDetails th { background: var(--tt-surface); }
body.ttonang-theme #bankAtm-footer { background: var(--tt-raised); color: var(--tt-muted); border-color: var(--tt-border); }
body.ttonang-theme #bankAtm-atmGuideContainer li .supported-card-types { color: var(--tt-muted); }
body.ttonang-theme #bankAtm-resetFiltersButton { background: var(--tt-raised); color: var(--tt-text); border: 1px solid var(--tt-border); }
body.ttonang-theme :is(.help_item.active,.help_item:hover,.help_category_nav_btn:hover) { background: #352519; color: var(--tt-accent); }
body.ttonang-theme .help_detail_info .important_note { background: #392e13; color: #ffe09a; border-color: #9e7b26; }
body.ttonang-theme .help_item_list { scrollbar-color: var(--tt-accent) var(--tt-bg); }
body.ttonang-theme .help_item_list::-webkit-scrollbar-track { background: var(--tt-bg); }
body.ttonang-theme .help_item_list::-webkit-scrollbar-thumb { border-color: var(--tt-bg); }
@media (max-width: 767px) {
    body.ttonang-theme :is(.trafficInfo_container,.material_container,#bankAtm-guideWrapper) { width: calc(100% - 24px); margin-left: auto; margin-right: auto; padding-left: 14px; padding-right: 14px; }
    body.ttonang-theme .help_wrapper { padding-left: 12px; padding-right: 12px; }
    body.ttonang-theme .trafficInfo_selectors select { min-width: 0; max-width: 100%; }
    body.ttonang-theme .trafficInfo_priceCategory { min-width: 0; width: 100%; }
    body.ttonang-theme :is(.bankAtm-modal-content,.trafficInfo_modalContent) { max-width: calc(100vw - 24px); }
}
