﻿body.bt-page { margin: 0; background: #fff; color: #666; font-family: 'MiSans', Arial, Helvetica, sans-serif; font-size: 18px; }
.bt-page main *, .bt-breadcrumb * { box-sizing: border-box; }
.bt-container { width: calc(100% - 40px); max-width: 1120px; margin: 0 auto; }
.bt-breadcrumb { border-bottom: 2px solid #eee; box-shadow: 0 2px 3px rgba(0,0,0,.04); }
.bt-breadcrumb .bt-container { display: flex; gap: 12px; align-items: center; min-height: 53px; padding: 0 10px; font-size: 16px; }
.bt-breadcrumb a { color: #777; }
.bt-filters { padding: 30px 8px 18px; border-bottom: 2px solid #eee; margin-bottom: 16px; }
.bt-filter-row { display: flex; align-items: baseline; margin: 6px 0; gap: 20px; }
.bt-filter-label { flex: 0 0 120px; text-align: right; white-space: nowrap; font-weight: 600; }
.bt-filter-options { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; text-align: left; gap: 9px 23px; }
.bt-filter { padding: 1px 8px; color: #777; line-height: 24px; border-radius: 4px; text-decoration: none; }
.bt-filter:hover, .bt-filter:focus-visible, .bt-filter.is-active { background: #10afd3; color: #fff; text-decoration: none; }
.bt-layout { display: grid; grid-template-columns: minmax(0, 830px) 275px; gap: 15px; align-items: start; }
.bt-sidebar { position: sticky; top: 5px; align-self: start; }
.bt-card { display: flex; gap: 16px; padding: 10px; min-height: 207px; margin-bottom: 7px; border: 2px solid #e5e5e5; border-radius: 12px; transition: background .15s; }
.bt-card:hover, .bt-card:focus-within { background: #f4f4f4; }
.bt-photo { flex: 0 0 245px; height: 183px; overflow: hidden; position: relative; border-radius: 10px; background: #e9eff2; }
.bt-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bt-photo-placeholder { display: flex; height: 100%; align-items: center; justify-content: center; color: #182551; }
.bt-type { position: absolute; top: 0; left: 0; background: #192750; border-radius: 0 0 9px 0; padding: 4px 9px; font-size: 13px; color: #fff; line-height: 17px; }
.bt-type--group { background: #21b64a; }
.bt-card-content { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 8px 3px 0 0; }
.bt-card h2 { margin: 0 0 19px; color: #192750; font-size: 20px; font-weight: 500; line-height: 1.35; }
.bt-location { display: flex; gap: 9px; align-items: baseline; margin: 0 0 15px; line-height: 1.45; }
.bt-pin { position: relative; flex: 0 0 15px; width: 15px; height: 19px; top: 3px; }
.bt-pin::before { content: ''; position: absolute; width: 15px; height: 15px; background: #ec001b; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); }
.bt-pin::after { content: ''; position: absolute; width: 6px; height: 6px; background: white; border-radius: 50%; top: 4px; left: 4px; }
.bt-details { align-self: flex-end; margin-top: auto; padding: 1px 12px; border: 1px solid #f59b00; border-radius: 22px; color: #243150; font-size: 20px; line-height: 29px; text-decoration: none; }
.bt-details:hover, .bt-details:focus-visible { background: #f59b00; color: white; text-decoration: none; }
.bt-sidebar > img, .bt-tailor, .bt-tailor img { display: block; width: 100%; height: auto; }
.bt-wechat { margin-bottom: 15px; }
.bt-reasons { border: 2px solid #e5e5e5; border-radius: 11px; padding: 12px 10px 8px; margin-bottom: 15px; }
.bt-reasons h2 { margin: 0; border-bottom: 4px solid #eee; padding: 2px 0 12px; font-size: 26px; font-weight: 500; text-align: center; }
.bt-reasons ul { list-style: none; margin: 10px 0 0; padding: 0; }
.bt-reasons li { min-height: 58px; padding: 10px 0 9px 48px; background: url('/images/beijing-tours/medal.png') no-repeat 10px 10px / 25px auto; color: #888; font-size: 14px; line-height: 1.2; }
.bt-tailor { overflow: hidden; border-radius: 10px; }
.bt-pagination { display: flex; justify-content: center; align-items: center; gap: 17px; margin: 30px 0 32px; }
.bt-pagination a, .bt-pagination span { min-width: 26px; height: 26px; line-height: 26px; text-align: center; color: #777; border-radius: 50%; }
.bt-pagination .is-active, .bt-pagination a:hover { background: #0eafd3; color: #fff; text-decoration: none; }
.bt-empty { border: 1px solid #e5e5e5; border-radius: 12px; text-align: center; padding: 65px 20px; }
.bt-empty h2 { color: #192750; font-size: 24px; }
.bt-page main.bt-container { padding-bottom: 30px; min-height: 900px; }
@media (max-width: 1000px) {
    .bt-layout { grid-template-columns: minmax(0, 1fr) 235px; gap: 15px; }
    .bt-photo { flex-basis: 38%; height: auto; min-height: 175px; }
    .bt-card h2 { font-size: 18px; }
    .bt-location { font-size: 16px; }
    .bt-filter-options { gap: 8px 10px; }
    .bt-reasons h2 { font-size: 23px; }
}
@media (max-width: 700px) {
    .bt-container { width: calc(100% - 28px); }
    .bt-layout { grid-template-columns: minmax(0, 1fr); }
    .bt-filters { padding: 16px 0; }
    .bt-filter-row { gap: 7px; font-size: 14px; }
    .bt-filter-label { flex-basis: 96px; }
    .bt-filter-options { gap: 7px; }
    .bt-filter { padding: 1px 6px; }
    .bt-card { gap: 10px; min-height: 165px; padding: 7px; }
    .bt-photo { min-height: 145px; }
    .bt-card-content { padding-top: 2px; }
    .bt-card h2 { font-size: 16px; margin-bottom: 10px; }
    .bt-type { font-size: 11px; padding: 2px 5px; }
    .bt-location { font-size: 14px; gap: 5px; }
    .bt-details { font-size: 16px; padding: 0 10px; line-height: 26px; }
    .bt-sidebar { position: static; width: 275px; max-width: 100%; margin: 0 auto 30px; }
    .bt-page main.bt-container { min-height: 0; }
}
