/* 또낭 3안: 기존 로고와 검정 바탕, 차콜 표면, 얇은 주황 프레임. 사용자 레이아웃 전용. */
body.ttonang-theme {
    --tt-bg: #111;
    --tt-surface: #191919;
    --tt-raised: #242424;
    --tt-border: #3b3b3b;
    --tt-accent: #fd7e14;
    --tt-text: #f3f3f3;
    --tt-muted: #b5b5b5;
    --tt-accent-text: #fff;
    background: var(--tt-bg);
    color: var(--tt-text);
    color-scheme: dark;
    accent-color: var(--tt-accent);
}
body.ttonang-theme :focus-visible { outline: 2px solid #ffab66; outline-offset: 3px; }
body.ttonang-theme ::selection { background: #86400d; color: #fff; }
body.ttonang-theme :is(#head-menu-total, .site-mobile-bar) { background: #080808; border-bottom: 1px solid var(--tt-border); box-shadow: none; }
body.ttonang-theme #head-menu-total .dropdown-content { background: var(--tt-surface); border: 1px solid var(--tt-border); border-top-color: var(--tt-accent); box-shadow: 0 10px 20px #0004; }
body.ttonang-theme #head-menu-total .dropdown-content a:hover { background: var(--tt-raised); color: var(--tt-accent); }
body.ttonang-theme #head-menu-total-mobile { background: var(--tt-surface); border-color: var(--tt-border); }
body.ttonang-theme #head-menu-total-mobile .subMenu-mobile { background: var(--tt-bg); }
body.ttonang-theme :is(.footer,.copyright) { background: #080808; color: var(--tt-muted); }
body.ttonang-theme .site-footer { border-top: 1px solid var(--tt-border); }
body.ttonang-theme :is(.footer-section.menu-links a,.info-text p) { color: var(--tt-muted); }
body.ttonang-theme .footer-section.menu-links a:hover { color: var(--tt-accent); }
body.ttonang-theme :is(.dm-user-menu,.dm-user-profile-modal__panel) { background: var(--tt-surface); border-color: var(--tt-border); }
body.ttonang-theme .dm-user-menu__item:not(.dm-user-menu__item--danger):hover { background: var(--tt-raised); color: var(--tt-accent); }

/* 검색은 기존 레이아웃과 동작을 유지하고 기존 지역 변수만 교체한다. */
body.ttonang-theme .site-search {
    --ss-ink: var(--tt-text); --ss-muted: var(--tt-muted); --ss-line: var(--tt-border);
    --ss-accent: var(--tt-accent); --ss-paper: var(--tt-surface);
    border-color: var(--tt-accent); border-radius: 12px; color-scheme: dark;
}
body.ttonang-theme .ss-input-row input[type="search"] { background: var(--tt-bg); border-color: var(--tt-accent); }
body.ttonang-theme :is(.ss-input-row button,.ss-pagination a[aria-current="page"]) { color: var(--tt-accent-text); }
body.ttonang-theme .ss-filters a.is-active { background: #352519; }
body.ttonang-theme .ss-save { border-color: var(--tt-border); }
body.ttonang-theme .ss-error { background: #3d2020; color: #ffb7b7; }

/* 내 여행/공유 여행/저장 팝업. 개인정보 보호 레이아웃에도 로컬 CSS만 사용한다. */
body.ttonang-theme :is(.travel-page,.travel-dialog) {
    --travel-bg: var(--tt-surface); --travel-soft: var(--tt-raised); --travel-ink: var(--tt-text);
    --travel-muted: var(--tt-muted); --travel-line: var(--tt-border); --travel-accent: var(--tt-accent); --travel-accent-bg: #352519;
}
body.ttonang-theme :is(.travel-summary,.travel-sidebar,.travel-dialog) { border-color: var(--tt-accent); box-shadow: none; }
body.ttonang-theme .travel-btn-primary { color: var(--tt-accent-text); }
body.ttonang-theme .travel-btn-primary:hover { background: #ff9c4a; color: var(--tt-accent-text); }
body.ttonang-theme .travel-btn-danger { color: #ffaaa4; border-color: #985853; }
body.ttonang-theme :is(.travel-status.is-error,.travel-form-status.is-error) { color: #ffaaa4; }
body.ttonang-theme .travel-bought { color: #90d5ac; }
body.ttonang-theme :is([data-travel-save-type],[data-travel-shop-id]) { background: var(--tt-raised); border-color: var(--tt-border); color: var(--tt-accent); }
body.ttonang-theme .travel-save-dialog { border: 1px solid var(--tt-accent); background: var(--tt-surface); color: var(--tt-text); border-radius: 12px; }
body.ttonang-theme .travel-save-dialog :is(input,select,textarea,.tw-close) { background: var(--tt-raised); color: var(--tt-text); border-color: var(--tt-border); }
body.ttonang-theme .travel-save-dialog .tw-submit { background: var(--tt-accent); color: var(--tt-accent-text); }
body.ttonang-theme .travel-save-dialog a { color: var(--tt-accent); }
body.ttonang-theme .travel-save-dialog .tw-status { color: #ffaaa4; }
body.ttonang-theme .travel-save-dialog .tw-status[data-success="true"] { color: #90d5ac; }

/* 소개, 약관, 로그인 및 회원 화면. 소셜 로그인 사업자의 이미지 색상은 보존한다. */
body.ttonang-theme :is(.travel-intro,.policy-cover,.loginHome_Main,.mypage-cover,.dm-message) {
    background: var(--tt-surface); color: var(--tt-text); border: 1px solid var(--tt-accent); border-radius: 12px; box-shadow: none;
}
body.ttonang-theme :is(#policyMain,#loginMCt,#mypageMain) { background: var(--tt-surface); color: var(--tt-text); box-shadow: none; }
body.ttonang-theme .travel-intro p { color: var(--tt-muted); }
body.ttonang-theme .travel-intro nav a { color: var(--tt-accent); border-color: var(--tt-border); min-height: 44px; }
body.ttonang-theme :is(.policy-title-section h1,.loginTopCt-1 p) { text-shadow: none; }
body.ttonang-theme .mypage-cover {
    --mypage-bg: var(--tt-bg); --mypage-panel: var(--tt-surface); --mypage-surface: var(--tt-raised);
    --mypage-text: var(--tt-text); --mypage-text-muted: var(--tt-muted); --mypage-border: var(--tt-border);
    --mypage-border-soft: var(--tt-border); --mypage-shadow: none;
}
body.ttonang-theme .mypage-button:not(.mypage-button-delete):not(.mypage-button-delete-link) { background: var(--tt-accent); color: var(--tt-accent-text); box-shadow: none; }
body.ttonang-theme .dm-message { --bg-color: var(--tt-surface); --bg-alt-color: var(--tt-raised); --text-color: var(--tt-text); --border-color: var(--tt-border); }
body.ttonang-theme :is(.dm-message__button--primary,.dm-message__badge,.dm-message__tabs a.is-active) { background: var(--tt-accent); color: var(--tt-accent-text); box-shadow: none; }
body.ttonang-theme .dm-message__empty { background: var(--tt-raised); color: var(--tt-muted); border-color: var(--tt-border); }
@media (max-width: 767px) {
    body.ttonang-theme :is(.policy-cover,.loginHome_Main,.mypage-cover) { width: calc(100% - 24px); margin-left: auto; margin-right: auto; }
    body.ttonang-theme .footer-section { min-width: 0; }
    body.ttonang-theme .info-text p { white-space: normal; overflow-wrap: anywhere; }
}
