/* Shared Trendy Holiday identity: public site, customer account and Travel Desk. */
:root {
    --th-primary: #087f8c;
    --th-primary-hover: #066875;
    --th-ink: #123743;
    --th-muted: #526875;
    --th-accent: #ffda8a;
    --th-soft: #eaf5f3;
    --th-border: #dce8eb;
    --th-surface: #fff;
    --th-canvas: #f5f8fa;
    --th-shadow: 0 16px 40px rgba(15,45,56,.16);
}
.frontend-page { color: var(--th-ink); }
.bc_wrap .btn-primary, #app .btn-primary, .bc_wrap .btn.btn-default {
    background: var(--th-primary); border-color: var(--th-primary); color: #fff; border-radius: 9px;
}
.bc_wrap .btn-primary:hover, #app .btn-primary:hover, .bc_wrap .btn.btn-default:hover,
.bc_wrap .btn-primary:focus, #app .btn-primary:focus,
.bc_wrap .btn-primary:not(:disabled):not(.disabled):active, #app .btn-primary:not(:disabled):not(.disabled):active {
    background: var(--th-primary-hover); border-color: var(--th-primary-hover); color: #fff;
}
.bc_wrap .btn-outline-primary, #app .btn-outline-primary { color: var(--th-primary); border-color: var(--th-primary); border-radius: 9px; }
.bc_wrap .btn-outline-primary:hover, #app .btn-outline-primary:hover { background: var(--th-primary); color: #fff; }
.bc_wrap .text-primary, #app .text-primary { color: var(--th-primary) !important; }
.bc_wrap .bg-primary, #app .bg-primary { background-color: var(--th-primary) !important; }
.bc_wrap .page-item.active .page-link, #app .page-item.active .page-link { background: var(--th-primary); border-color: var(--th-primary); color: #fff; }
.bc_wrap .page-link, #app .page-link { color: var(--th-primary); }
.bc_wrap .form-control, #app .form-control { border-color: var(--th-border); border-radius: 8px; }
.bc_wrap .form-control:focus, #app .form-control:focus { border-color: var(--th-primary); box-shadow: 0 0 0 3px rgba(8,127,140,.15); }
.bc_wrap a:focus-visible, .bc_wrap button:focus-visible, #app a:focus-visible, #app button:focus-visible {
    outline: 3px solid var(--th-primary); outline-offset: 3px;
}
/* The account dropdown uses the same light surface as language/currency menus. */
.bc_wrap .bc_topbar .topbar-right .topbar-items .login-item > .dropdown-menu,
.bc_wrap .bc_header .header-right .topbar-items .login-item > .dropdown-menu {
    background: var(--th-surface); border: 1px solid var(--th-border); border-radius: 12px;
    min-width: 240px; max-width: calc(100vw - 24px); padding: 8px; margin-top: 8px; box-shadow: var(--th-shadow);
}
.bc_wrap .bc_topbar .topbar-right .topbar-items .login-item > .dropdown-menu > li,
.bc_wrap .bc_header .header-right .topbar-items .login-item > .dropdown-menu > li { display: block; padding: 0; margin: 0; border: 0; }
.bc_wrap .bc_topbar .topbar-right .topbar-items .login-item > .dropdown-menu > li > a,
.bc_wrap .bc_header .header-right .topbar-items .login-item > .dropdown-menu > li > a {
    display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 10px 12px;
    color: var(--th-ink); background: transparent; border-radius: 8px; font-size: 13px; line-height: 1.5; white-space: normal;
}
.bc_wrap .bc_topbar .topbar-right .topbar-items .login-item > .dropdown-menu > li > a:hover,
.bc_wrap .bc_header .header-right .topbar-items .login-item > .dropdown-menu > li > a:hover { background: var(--th-soft); color: var(--th-primary); }
.bc_wrap .login-item > .dropdown-menu > li > a > i { width: 18px; text-align: center; color: var(--th-primary); flex-shrink: 0; }
.bc_wrap .bc_topbar .topbar-right .topbar-items .login-item > .dropdown-menu > .credit_amount > a { background: var(--th-soft); color: var(--th-primary-hover); font-weight: 600; margin-bottom: 6px; }
/* Notification components are also used in account and admin notification pages. */
.bc_wrap .dropdown-notifications, #app .dropdown-notifications { position: relative; }
.bc_wrap .dropdown-notifications > .is_login { position: relative; justify-content: center; min-width: 44px; min-height: 36px; border: 1px solid #51717b; border-radius: 7px; }
.bc_wrap .dropdown-notifications > .is_login .fa-bell { margin-right: 0 !important; }
.bc_wrap .dropdown-notifications > .is_login .fa-angle-down { display: none; }
.bc_wrap .dropdown-notifications .notification-icon, #app .dropdown-notifications .notification-icon {
    background: var(--th-accent); color: var(--th-ink); border: 2px solid var(--th-ink);
    border-radius: 20px; top: -7px; left: auto; right: -6px; min-width: 20px; font-size: 10px; line-height: 14px;
}
.bc_wrap .dropdown-notifications > .dropdown-menu, #app .dropdown-notifications > .dropdown-menu {
    width: 360px; min-width: 0; max-width: calc(100vw - 24px); max-height: min(520px, 75vh);
    padding: 0; margin-top: 10px; background: var(--th-surface); border: 1px solid var(--th-border);
    border-radius: 14px; box-shadow: var(--th-shadow); overflow-x: hidden; text-align: start;
}
.bc_wrap .dropdown-notifications .dropdown-toolbar, #app .dropdown-notifications .dropdown-toolbar {
    padding: 18px; background: var(--th-soft); border-bottom: 1px solid var(--th-border);
}
.bc_wrap .dropdown-notifications .dropdown-toolbar-title, #app .dropdown-notifications .dropdown-toolbar-title { color: var(--th-ink); font-size: 15px; line-height: 1.6; margin: 0; }
.bc_wrap .dropdown-notifications .dropdown-toolbar-actions, #app .dropdown-notifications .dropdown-toolbar-actions { float: none; margin-bottom: 8px; }
.bc_wrap .dropdown-notifications .markAllAsRead, #app .dropdown-notifications .markAllAsRead { color: var(--th-primary-hover) !important; font-size: 12px; padding: 0; }
.bc_wrap .dropdown-notifications .dropdown-list-items, #app .dropdown-notifications .dropdown-list-items { list-style: none; margin: 0; }
.bc_wrap .dropdown-notifications .notification, #app .dropdown-notifications .notification,
.bc_wrap #bc_notify .notification, #app #bc_notify .notification { padding: 14px 18px; border-color: var(--th-border); background: var(--th-surface); }
.bc_wrap .dropdown-notifications .notification.active, #app .dropdown-notifications .notification.active,
.bc_wrap #bc_notify .notification.active, #app #bc_notify .notification.active { background: var(--th-soft); border-inline-start: 3px solid var(--th-primary); }
.bc_wrap .dropdown-notifications .notification:hover, #app .dropdown-notifications .notification:hover { background: #f1f7f8; }
.bc_wrap .dropdown-notifications .notification a, #app .dropdown-notifications .notification a { display: block; color: var(--th-ink) !important; white-space: normal; line-height: 1.6; font-size: 13px; }
.bc_wrap .dropdown-notifications .media-body, #app .dropdown-notifications .media-body { min-width: 0; overflow-wrap: anywhere; }
.bc_wrap .dropdown-notifications .media-left, #app .dropdown-notifications .media-left { margin: 0 12px 0 0; }
.bc_wrap .dropdown-notifications .media-object .avatar-text, #app .dropdown-notifications .media-object .avatar-text { background: var(--th-primary); color: #fff; }
.bc_wrap .dropdown-notifications .notification-meta, #app .dropdown-notifications .notification-meta { color: var(--th-muted); margin-top: 5px; }
.bc_wrap .dropdown-notifications .dropdown-footer, #app .dropdown-notifications .dropdown-footer { padding: 8px 16px; background: var(--th-surface); border-top: 1px solid var(--th-border); }
.bc_wrap .dropdown-notifications .dropdown-footer a, #app .dropdown-notifications .dropdown-footer a { display: block; padding: 10px; color: var(--th-primary); font-size: 13px; font-weight: 600; }
.bc_wrap .dropdown-notifications .notification-empty, #app .dropdown-notifications .notification-empty { padding: 32px 20px; text-align: center; color: var(--th-muted); font-size: 13px; }
.notification-empty .fa { display: block; color: var(--th-primary); font-size: 26px; margin-bottom: 12px; }
.dropdown-list-items:has(.notification) > .notification-empty { display: none; }
/* Account and operations screens retain their established navigation layout. */
.bc_wrap .bc_user_profile { background: var(--th-canvas); color: var(--th-ink); }
.bc_wrap .bc_user_profile .sidebar-user, #app .main-sidebar, #app .main-header, #app .header-logo { background: var(--th-ink); }
.bc_wrap .bc_user_profile .sidebar-menu { border-color: #315460; }
.bc_wrap .bc_user_profile .sidebar-menu ul li.active > a,
.bc_wrap .bc_user_profile .sidebar-menu ul li:hover > a,
.bc_wrap .bc_user_profile .sidebar-menu ul li.active > a i,
.bc_wrap .bc_user_profile .sidebar-menu ul li:hover > a i { color: var(--th-accent); }
.bc_wrap .bc_user_profile .sidebar-user .logo .avatar-text { background: var(--th-primary); color: #fff; }
.bc_wrap .bc_user_profile .user-profile-plan a { background: var(--th-primary); }
#app .main-header .logo-text a, #app .main-header .btn-link, #app .main-header .user-dropdown { color: #f2f8f9; }
#app .main-content { background: var(--th-canvas); }
#app .main-sidebar .main-menu li > a, #app .main-sidebar .main-menu li > .btn-toggle { color: #d3e6e9; }
#app .main-sidebar .main-menu li.group { color: #a4c4cc; }
#app .main-sidebar .main-menu li.active > a, #app .main-sidebar .main-menu li:hover > a { color: var(--th-accent); background: #214652; }
#app .panel, .bc_wrap .bc_user_profile .panel { border-color: var(--th-border); border-radius: 12px; }
#app .dropdown-menu { border-color: var(--th-border); border-radius: 12px; box-shadow: var(--th-shadow); }
#app .dropdown-item:hover, #app .dropdown-item:focus { background: var(--th-soft); color: var(--th-primary); }
@media (max-width: 575px) {
    .bc_wrap .bc_topbar .content { flex-wrap: wrap; }
    .bc_wrap .dropdown-notifications > .dropdown-menu, #app .dropdown-notifications > .dropdown-menu { position: fixed !important; top: 72px !important; left: 12px !important; right: 12px !important; transform: none !important; width: auto; max-height: calc(100dvh - 96px); }
    .bc_wrap .dropdown-notifications .dropdown-toolbar, #app .dropdown-notifications .dropdown-toolbar { padding: 14px; }
}
/* Account panels: override the legacy outer sidebar and module-specific styles. */
.bc_wrap .bc_user_profile > .container-fluid > .row-eq-height > .col-md-3,
.bc_wrap .bc_user_profile > .container-fluid > .row-eq-height > .col-md-3::after {
    background: var(--th-ink);
}
.bc_wrap .bc_user_profile .user-profile-avatar,
.bc_wrap .bc_user_profile .user-profile-plan { background: var(--th-ink) !important; border-color: #315460; }
.bc_wrap .bc_user_profile .sidebar-user { padding: 0 12px 20px; }
.bc_wrap .bc_user_profile .sidebar-user .logo { padding-top: 28px; }
.bc_wrap .bc_user_profile .user-profile-avatar .info-new p { color: #b7d1d7; font-size: 12px; line-height: 1.6; margin-top: 6px; }
.bc_wrap .bc_user_profile .user-profile-avatar .role-name { background: var(--th-primary); padding: 5px 9px; border-radius: 6px; }
.bc_wrap .bc_user_profile .sidebar-menu ul li a { display: flex; align-items: center; gap: 10px; padding: 12px; margin: 3px 0; border-radius: 9px; color: #e4f0f2; font-weight: 400; }
.bc_wrap .bc_user_profile .sidebar-menu ul li a .icon { width: 20px; flex-shrink: 0; }
.bc_wrap .bc_user_profile .sidebar-menu ul li a i { margin: 0; }
.bc_wrap .bc_user_profile .sidebar-menu ul li.active > a { background: #214652; color: var(--th-accent); box-shadow: inset 3px 0 0 var(--th-accent); }
.bc_wrap .bc_user_profile .sidebar-menu ul li:hover > a { background: #214652; }
.bc_wrap .bc_user_profile .sidebar-user .logout a { display: block; padding: 12px; border-radius: 9px; color: #d3e6e9 !important; }
.bc_wrap .bc_user_profile .sidebar-user .logout a:hover { background: #214652; color: var(--th-accent) !important; }
.bc_wrap .bc_user_profile .user-form-settings { padding: 24px; color: var(--th-ink); }
.bc_wrap .bc_user_profile .user-form-settings .breadcrumb-page-bar { border-color: var(--th-border); border-radius: 10px; background: var(--th-surface); min-height: 44px; }
.bc_wrap .bc_user_profile .user-form-settings .breadcrumb-page-bar .page-breadcrumb { padding: 12px 16px; }
.bc_wrap .bc_user_profile .user-form-settings .breadcrumb-page-bar .page-breadcrumb > li a { color: var(--th-muted); }
.bc_wrap .bc_user_profile .user-form-settings .breadcrumb-page-bar .page-breadcrumb > li a:hover { color: var(--th-primary); }
.bc_wrap .bc_user_profile .user-form-settings .title-bar { color: var(--th-ink); font-weight: 600; letter-spacing: -.5px; border-color: var(--th-border); margin-bottom: 20px; }
.bc_wrap .bc_user_profile .btn.btn-primary,
.bc_wrap .bc_user_profile .user-form-settings .btn-change-password { background: var(--th-primary); border: 1px solid var(--th-primary); border-radius: 8px; color: #fff; }
.bc_wrap .bc_user_profile .btn.btn-primary:hover,
.bc_wrap .bc_user_profile .btn.btn-primary:focus,
.bc_wrap .bc_user_profile .btn.btn-primary:not(:disabled):not(.disabled):active,
.bc_wrap .bc_user_profile .user-form-settings .btn-change-password:hover { background: var(--th-primary-hover); border-color: var(--th-primary-hover); }
.bc_wrap .bc_user_profile .booking-history-manager,
.bc_wrap .bc_user_profile .user-panel,
.bc_wrap .bc_user_profile .user-form-settings > form { background: var(--th-surface); border: 1px solid var(--th-border); border-radius: 14px; padding: 24px; box-shadow: 0 4px 16px rgba(15,45,56,.04); }
.bc_wrap .bc_user_profile .user-panel .panel-title { border-color: var(--th-border); color: var(--th-ink); }
.bc_wrap .bc_user_profile .booking-ui-history { --ui-ink: var(--th-ink); --ui-muted: var(--th-muted); --ui-line: var(--th-border); }
.bc_wrap .bc_user_profile .booking-ui-history .tabbable { border: 0; padding: 0; border-radius: 0; }
.bc_wrap .bc_user_profile .booking-history-manager .tabbable .ht-nav-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.bc_wrap .bc_user_profile .booking-history-manager .tabbable .ht-nav-tabs li { margin: 0; width: auto; }
.bc_wrap .bc_user_profile .booking-history-manager .tabbable .ht-nav-tabs li a { min-height: 44px; padding: 11px 14px; border-radius: 9px; border: 1px solid transparent; background: var(--th-canvas); color: var(--th-muted); font-size: 12px; line-height: 20px; }
.bc_wrap .bc_user_profile .booking-history-manager .tabbable .ht-nav-tabs li a:hover { background: var(--th-soft); color: var(--th-primary-hover); }
.bc_wrap .bc_user_profile .booking-history-manager .tabbable .ht-nav-tabs li.active a { background: var(--th-soft); color: var(--th-primary-hover); border-color: #b7dcd9; box-shadow: inset 0 -2px 0 var(--th-primary); }
.bc_wrap .bc_user_profile .table { color: var(--th-ink); }
.bc_wrap .bc_user_profile .table td, .bc_wrap .bc_user_profile .table th { border-color: var(--th-border); }
.bc_wrap .bc_user_profile .table thead th { background: var(--th-soft); color: var(--th-ink); padding: 14px 12px; font-weight: 600; }
.bc_wrap .bc_user_profile .table-striped tbody tr:nth-of-type(odd) { background: #f7fafb; }
.bc_wrap .bc_user_profile .table tbody td { vertical-align: middle; }
.bc_wrap .bc_user_profile .table tbody td > a:not(.btn) { color: var(--th-primary-hover); }
.bc_wrap .bc_user_profile .table tbody td > a:not(.btn):hover { text-decoration: underline; }
.bc_wrap .bc_user_profile .booking-history-manager .btn-info-booking { min-height: 36px; width: auto; min-width: 92px; padding: 7px 10px; margin: 2px 0; font-size: 12px; }
.bc_wrap .bc_user_profile .booking-history-manager .dropdown-menu { background: #fff; border: 1px solid var(--th-border); border-inline-start: 3px solid var(--th-primary); border-radius: 9px; }
.bc_wrap .bc_user_profile .booking-history-manager .dropdown-menu a:hover { color: var(--th-primary); }
.bc_wrap .bc_user_profile .modal-content { border: 1px solid var(--th-border); border-radius: 14px; }
.bc_wrap .bc_user_profile .form-control,
.bc_wrap .bc_user_profile input.form-control,
.bc_wrap .bc_user_profile textarea.form-control { color: var(--th-ink); min-height: 44px; border-radius: 8px; border-color: var(--th-border); }
.bc_wrap .bc_user_profile .form-control:focus { border-color: var(--th-primary); box-shadow: 0 0 0 3px rgba(8,127,140,.15); }
.bc_wrap .bc_user_profile .bc-more-menu-user { background: var(--th-soft); color: var(--th-primary-hover); border-radius: 8px; }
.bc_wrap .bc_user_profile .bc-user-dashboard .dashboard-price-info .dashboard-item,
.bc_wrap .bc_user_profile .bc-user-chart { background: var(--th-surface); border: 1px solid var(--th-border); border-radius: 14px; }
.bc_wrap .bc_user_profile .bc-user-dashboard .dashboard-price-info .dashboard-item .wrap-box .title { color: var(--th-muted); }
.bc_wrap .bc_user_profile .bc-user-dashboard .dashboard-price-info .dashboard-item .wrap-box .number { color: var(--th-primary-hover); }
.bc_wrap .bc_user_profile .bc-pagination ul li.active a,
.bc_wrap .bc_user_profile .bc-pagination ul li.active span { color: var(--th-primary-hover) !important; }
@media (max-width: 1024px) {
    .bc_wrap .bc_user_profile .user-form-settings { padding: 16px 12px; }
    .bc_wrap .bc_user_profile .booking-history-manager, .bc_wrap .bc_user_profile .user-panel,
    .bc_wrap .bc_user_profile .user-form-settings > form { padding: 16px; }
}
@media (max-width: 575px) {
    .bc_wrap .bc_user_profile .booking-history-manager .tabbable .ht-nav-tabs { gap: 6px; }
    .bc_wrap .bc_user_profile .booking-history-manager .tabbable .ht-nav-tabs li a { padding: 10px; font-size: 11px; }
    .bc_wrap .bc_user_profile .table-responsive { overscroll-behavior-x: contain; }
    .bc_wrap .bc_user_profile .table-booking-history { min-width: 680px; }
    .bc_wrap .bc_user_profile .user-form-settings .title-bar .btn-change-password { float: none; display: inline-block; margin-top: 10px; }
}
/* Search, hotel cards, detail and checkout use the shared brand tokens. */
.bc_wrap .hotel-search-page, .bc_wrap .bc_detail_hotel, .bc_wrap .booking-ui { background: var(--th-canvas); color: var(--th-ink); }
.bc_wrap .booking-ui, .bc_wrap .booking-ui-history { --ui-ink: var(--th-ink); --ui-muted: var(--th-muted); --ui-line: var(--th-border); --ui-blue: var(--th-primary); }
.bc_wrap .hotel-selection-card { border-color: var(--th-border); box-shadow: 0 4px 16px rgba(15,45,56,.04); }
.bc_wrap .hotel-selection-card:hover { border-color: #94c6c8; box-shadow: 0 8px 24px rgba(15,45,56,.12); }
.bc_wrap .hotel-selection-name a, .bc_wrap .hotel-selection-amount, .bc_wrap .hotel-selection .title,
.bc_wrap .bc_detail_hotel h1, .bc_wrap .bc_detail_hotel h2, .bc_wrap .bc_detail_hotel h3 { color: var(--th-ink); }
.bc_wrap .hotel-selection-location, .bc_wrap .hotel-selection-review-count, .bc_wrap .hotel-selection-review-empty,
.bc_wrap .hotel-selection-from, .bc_wrap .hotel-selection-unit, .bc_wrap .hotel-selection .sub-title { color: var(--th-muted); }
.bc_wrap .hotel-selection-detail { background: var(--th-soft); border-color: #c2dfdf; color: var(--th-primary-hover); }
.bc_wrap .hotel-selection-detail:hover { background: var(--th-primary); border-color: var(--th-primary); color: #fff; }
.bc_wrap .hotel-selection-score { background: var(--th-primary); color: #fff; }
.bc_wrap .hotel-selection-badge { background: var(--th-accent); color: var(--th-ink); }
.bc_wrap .hotel-selection-stars { color: var(--th-accent); }
.bc_wrap .hotel-selection-controls button:hover:not(:disabled) { background: var(--th-soft); border-color: var(--th-primary); color: var(--th-primary); }
.bc_wrap .hotel-search-page .bc_form_search .bc_form { border-color: var(--th-border); box-shadow: 0 10px 32px rgba(15,45,56,.08); }
.bc_wrap .hotel-search-page .hotel-name-search > label { color: var(--th-ink); }
.bc_wrap .hotel-search-page .hotel-name-search > span { color: var(--th-muted); }
.bc_wrap .hotel-search-page .hotel-name-search-control { background: var(--th-canvas); border-color: var(--th-border); }
.bc_wrap .hotel-search-page .hotel-name-search-control:focus-within { border-color: var(--th-primary); box-shadow: 0 0 0 3px rgba(8,127,140,.15); background: #fff; }
.bc_wrap .hotel-search-page .hotel-name-search-control input { color: var(--th-ink); }
.bc_wrap .bc_search_hotel .bc_form_search .bc_form .field-icon,
.frontend-page .bc_wrap .bc_search_hotel .bc_form_search .bc_form .form-group .form-content .render,
.frontend-page .bc_wrap .bc_search_hotel .bc_form_search .bc_form .form-group .form-content .render input,
.frontend-page .bc_wrap .bc_search_hotel .bc_form_search .bc_form .form-group .form-content .render .dropdown-toggle { color: var(--th-primary); }
.bc_wrap .bc_search_hotel .bc_form_search .bc_form .form-content label { color: var(--th-muted); }
.bc_wrap .bc_search_hotel .bc_form_search .bc_form .btn-search { background: var(--th-primary); border-color: var(--th-primary); color: #fff; min-height: 48px; border-radius: 9px; }
.bc_wrap .bc_search_hotel .bc_form_search .bc_form .btn-search:hover { background: var(--th-primary-hover); border-color: var(--th-primary-hover); }
.bc_wrap .hotel-search-page .bc_filter, .bc_wrap .hotel-search-page .topbar-search { border-color: var(--th-border); }
.bc_wrap .bc_search_hotel .bc_filter .filter-title { display: flex; position: relative; justify-content: space-between; align-items: center; gap: 8px; padding-left: 20px; border-color: var(--th-border); color: var(--th-ink); border-left-color: var(--th-primary); }
.bc_wrap .bc_search_hotel .bc_filter .filter-title::before { background: var(--th-primary); position: absolute; left: 0; top: 12px; margin: 0; }
.bc_wrap .bc_search_hotel .bc_filter .g-filter-item { border-color: var(--th-border); }
.bc_wrap .bc_search_hotel .bc_filter .g-filter-item .item-title h3 { color: var(--th-ink); }
.bc_wrap .bc_search_hotel .bc_filter .g-filter-item .item-title { min-height: 44px; }
.bc_wrap .bc_search_hotel .bc_filter .bc-checkbox label { min-height: 32px; color: var(--th-muted); }
.bc_wrap .bc_search_hotel .bc_filter .bc-checkbox label .fa-star { color: #ae7615; }
.bc_wrap .bc_search_hotel .bc_filter .bc-checkbox input:checked ~ .checkmark { background: var(--th-primary); border-color: var(--th-primary); }
.bc_wrap .bc_search_hotel .bc_filter .bc-checkbox input:focus-visible ~ .checkmark { outline: 3px solid var(--th-primary); outline-offset: 3px; }
.bc_wrap .bc_search_hotel .bc_filter .btn-link { color: var(--th-primary-hover); }
.bc_wrap .bc_search_hotel .bc_filter .bc-clear-filter { padding: 6px 0; border: 0; background: transparent; color: var(--th-primary-hover); font-size: 11px; text-decoration: underline; cursor: pointer; }
.bc_wrap .hotel-search-page .filter-price-note { color: var(--th-muted); font-size: 12px; line-height: 1.7; margin: 0; }
.bc_wrap .bc_search_hotel .irs-bar, .bc_wrap .bc_search_hotel .irs-from, .bc_wrap .bc_search_hotel .irs-to, .bc_wrap .bc_search_hotel .irs-single { background: var(--th-primary); }
.bc_wrap .bc_search_hotel .irs-handle > i:first-child { background: var(--th-primary); }
.bc_wrap .bc_search_hotel .irs-from::before, .bc_wrap .bc_search_hotel .irs-to::before, .bc_wrap .bc_search_hotel .irs-single::before { border-top-color: var(--th-primary); }
.bc_wrap .hotel-search-page .topbar-search .result-count { color: var(--th-ink); font-size: clamp(18px, 2vw, 24px); }
.bc_wrap .hotel-search-page .topbar-search .control .item a { color: var(--th-primary-hover); }
.bc_wrap .hotel-search-page .topbar-search .control .dropdown-toggle { border: 1px solid var(--th-border); border-radius: 9px; min-height: 44px; color: var(--th-ink); }
.bc_wrap .hotel-search-page .dropdown-menu { border-color: var(--th-border); border-radius: 10px; box-shadow: var(--th-shadow); }
.bc_wrap .hotel-search-page .dropdown-item:hover, .bc_wrap .hotel-search-page .dropdown-item:focus { background: var(--th-soft); color: var(--th-primary-hover); }
.bc_wrap .hotel-search-page .bc-pagination .pagination li.active span, .bc_wrap .hotel-search-page .bc-pagination .pagination li.active a { background: var(--th-primary); border-color: var(--th-primary); color: #fff; }
.bc_wrap .hotel-search-page .hotel-search-status { background: var(--th-soft); border-color: var(--th-border); color: var(--th-primary-hover); }
.bc_wrap .hotel-filter-toggle { display: none; }
.bc_wrap .booking-ui .form-control:focus { border-color: var(--th-primary); box-shadow: 0 0 0 3px rgba(8,127,140,.15); }
.bc_wrap .booking-ui input[type=checkbox], .bc_wrap .booking-ui input[type=radio] { accent-color: var(--th-primary); }
.bc_wrap .booking-ui-steps [aria-current=step] { color: var(--th-primary-hover); }
.bc_wrap .booking-ui-steps [aria-current=step] span { background: var(--th-primary); }
.bc_wrap .hotel-result-card a:focus-visible, .bc_wrap .hotel-result-card button:focus-visible,
.bc_wrap .hotel-selection a:focus-visible, .bc_wrap .hotel-selection button:focus-visible,
.bc_wrap .booking-ui a:focus-visible, .bc_wrap .booking-ui button:focus-visible,
.bc_wrap .bc_filter .item-title:focus-visible { outline: 3px solid var(--th-primary); outline-offset: 3px; }
@media (max-width: 991px) {
 .bc_wrap .hotel-filter-toggle { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 12px 16px; margin-bottom: 16px; border: 1px solid var(--th-border); border-radius: 10px; background: #fff; color: var(--th-primary-hover); font-weight: 600; cursor: pointer; }
 .bc_wrap .hotel-filter-toggle > .fa-angle-down { margin-left: auto; }
 .bc_wrap .hotel-filter-toggle[aria-expanded=true] > .fa-angle-down { transform: rotate(180deg); }
 .bc_wrap .hotel-filters-ready #hotel-search-filters:not(.hotel-filters-open) { display: none; }
 .bc_wrap .hotel-search-page .topbar-search { margin-top: 0; }
 .bc_wrap .hotel-search-page .topbar-search .control { width: 100%; display: flex; flex-wrap: wrap; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
 .bc_wrap .hotel-selection-card, .bc_wrap .hotel-selection-image img, .bc_wrap .hotel-selection-detail { transition: none; }
 .bc_wrap .hotel-selection-card:hover .hotel-selection-image img { transform: none; }
}

.frontend-page .bc_wrap .bc_search_hotel .bc_form_search .bc_form .form-group .form-content .hotel-location-input { color: var(--th-primary); }
.frontend-page .bc_wrap .bc_search_hotel .bc_form_search .bc_form .form-group .form-content .hotel-location-input::placeholder { color: var(--th-muted); }
