/*
Theme Name: 伴游网轻量子主题
Template: twentytwentyfive
Version: 1.4.2
Text Domain: banyou-child
*/

:root { --by-ink:#15120f; --by-deep:#211b16; --by-gold:#b8965a; --by-gold-light:#dec69b; --by-ivory:#f7f2ea; --by-paper:#fffdfa; --by-muted:#766d63; --by-line:#e5dbca; --by-shadow:0 16px 40px rgba(33,27,22,.08); }
* { box-sizing:border-box; }
body { background:var(--by-paper); color:var(--by-ink); font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; }
body.page .wp-block-post-title { display:none; }
.wp-site-blocks > * { margin-block-start:0 !important; }
.wp-site-blocks p:empty { display:none !important; }
.wp-block-template-part + p { display:none !important; }
.by-site-header p { display:none; }
.by-shell { max-width:1180px; margin:0 auto; padding:0 24px; }
.by-site-header { position:sticky; top:0; z-index:20; background:rgba(33,27,22,.97); border-bottom:1px solid rgba(222,198,155,.2); backdrop-filter:blur(14px); }
.by-header-row { min-height:80px; display:flex; align-items:center; gap:30px; }
.by-brand,.by-hero h1,.by-page-hero h1,.by-section h2 { font-family:"Songti SC","STSong","Noto Serif CJK SC",serif; }
.by-brand { color:var(--by-gold-light); font-size:29px; line-height:1; font-weight:700; letter-spacing:.04em; text-decoration:none; white-space:nowrap; }
.by-nav { display:flex; align-items:center; gap:24px; flex:1; }
.by-nav a { color:#f8f1e7; font-size:14px; font-weight:500; letter-spacing:.04em; text-decoration:none; }
.by-nav a:hover { color:var(--by-gold-light); }
.by-header-actions { display:flex; align-items:center; gap:14px; }
.by-mobile-menu { display:none; margin-left:auto; }
.by-mobile-menu summary { color:var(--by-gold-light); cursor:pointer; font-size:13px; font-weight:700; letter-spacing:.06em; list-style:none; }
.by-mobile-menu summary::-webkit-details-marker { display:none; }
.by-mobile-menu nav { position:absolute; top:calc(100% + 1px); right:0; display:grid; min-width:190px; padding:10px; border:1px solid rgba(222,198,155,.3); background:#211b16; box-shadow:0 18px 36px rgba(0,0,0,.26); }
.by-mobile-menu nav a { padding:12px; color:#f8f1e7; text-decoration:none; font-size:14px; }
.by-mobile-menu nav .by-button { margin:8px 2px 2px; color:var(--by-deep); }
.by-city { color:#cbbda9; font-size:13px; white-space:nowrap; }
.by-button,.by-button-outline { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 19px; border-radius:2px; font-size:14px; font-weight:700; letter-spacing:.04em; text-decoration:none; transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease; }
.by-button { color:var(--by-deep); background:var(--by-gold-light); border:1px solid var(--by-gold-light); }
.by-button:hover { background:#f1dfbb; border-color:#f1dfbb; transform:translateY(-1px); }
.by-button-outline { color:var(--by-gold-light); background:transparent; border:1px solid rgba(222,198,155,.65); }
.by-button-outline:hover { color:var(--by-deep); background:var(--by-gold-light); }
.by-hero { overflow:hidden; background:radial-gradient(circle at 84% 26%,rgba(184,150,90,.24),transparent 24%),linear-gradient(115deg,#171310 0%,#2a211a 55%,#171310 100%); border-bottom:1px solid rgba(184,150,90,.32); }
.by-hero-grid { display:grid; grid-template-columns:1.1fr .9fr; min-height:520px; align-items:center; gap:48px; }
.by-eyebrow { color:var(--by-gold); font-size:12px; font-weight:800; letter-spacing:.16em; }
.by-hero h1,.by-page-hero h1 { margin:17px 0 20px; color:#fffaf2; font-size:clamp(42px,5vw,66px); font-weight:600; line-height:1.14; letter-spacing:.01em; }
.by-hero p { max-width:570px; color:#e3d8c9; font-size:17px; line-height:1.9; }
.by-hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.by-hero-art { position:relative; min-height:330px; border-left:1px solid rgba(222,198,155,.25); }
.by-hero-mark { position:absolute; top:20px; right:0; color:rgba(222,198,155,.15); font-family:"Songti SC","STSong",serif; font-size:clamp(150px,20vw,260px); line-height:.8; letter-spacing:-.1em; }
.by-hero-card { position:absolute; right:0; bottom:22px; width:78%; padding:28px; border:1px solid rgba(222,198,155,.45); background:rgba(21,18,15,.7); box-shadow:0 22px 50px rgba(0,0,0,.2); }
.by-hero-card strong { display:block; color:var(--by-gold-light); font-family:"Songti SC","STSong",serif; font-size:24px; font-weight:600; margin-bottom:10px; }
.by-hero-card span { color:#ddd0bf; line-height:1.75; }
.by-section { padding:86px 0; }
.by-section-alt { background:var(--by-ivory); border-top:1px solid var(--by-line); border-bottom:1px solid var(--by-line); }
.by-section-city { background:linear-gradient(180deg,#fffdfa 0%,#faf5ed 100%); border-bottom:1px solid var(--by-line); }
.by-section-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:32px; }
.by-section h2 { margin:0; color:var(--by-deep); font-size:35px; font-weight:600; letter-spacing:.02em; }
.by-section-head p { margin:10px 0 0; color:var(--by-muted); line-height:1.7; }
.by-link { color:#8b6a36; font-weight:800; text-decoration:none; letter-spacing:.03em; }
.by-grid { display:grid; gap:18px; }
.by-grid-five { grid-template-columns:repeat(5,1fr); }
.by-grid-three { grid-template-columns:repeat(3,1fr); }
.by-city-directory { display:grid; gap:26px; }
.by-city-group { display:grid; grid-template-columns:104px minmax(0,1fr); gap:20px; align-items:stretch; }
.by-city-group-label { display:flex; align-items:flex-start; margin:0; padding:17px 0 0; color:#8b6a36; border-top:1px solid var(--by-gold); font-family:inherit; font-size:12px; font-weight:800; letter-spacing:.13em; writing-mode:vertical-rl; }
.by-city-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.by-city-card { position:relative; display:flex; flex-direction:column; min-height:137px; padding:18px 17px 16px; overflow:hidden; color:var(--by-deep); border:1px solid var(--by-line); background:rgba(255,253,250,.86); box-shadow:0 8px 20px rgba(33,27,22,.025); text-decoration:none; transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease,background .22s ease; }
.by-city-card::after { position:absolute; right:-8px; bottom:-32px; color:rgba(184,150,90,.08); content:"城"; font-family:"Songti SC","STSong",serif; font-size:116px; line-height:1; transition:color .22s ease,transform .22s ease; }
.by-city-card:hover,.by-city-card:focus-visible { border-color:var(--by-gold); background:#fffdf9; box-shadow:var(--by-shadow); transform:translateY(-3px); outline:none; }
.by-city-card:hover::after { color:rgba(184,150,90,.16); transform:translateY(-4px); }
.by-city-card-number { position:relative; z-index:1; color:#8b6a36; font:700 11px Georgia,serif; letter-spacing:.12em; }
.by-city-card strong { position:relative; z-index:1; display:block; margin-top:15px; color:var(--by-deep); font-family:"Songti SC","STSong","Noto Serif CJK SC",serif; font-size:24px; font-weight:600; letter-spacing:.04em; }
.by-city-card strong em { margin-left:5px; color:#8b6a36; font-size:13px; font-style:normal; letter-spacing:.08em; }
.by-city-card-action { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; margin-top:auto; color:#8b6a36; font-size:11px; font-weight:800; letter-spacing:.04em; }
.by-city-card-action b { font-size:15px; font-weight:400; transition:transform .22s ease; }
.by-city-card:hover .by-city-card-action b,.by-city-card:focus-visible .by-city-card-action b { transform:translateX(3px); }
.by-card { display:flex; flex-direction:column; min-height:220px; color:var(--by-ink); background:var(--by-paper); border:1px solid var(--by-line); border-radius:3px; box-shadow:0 8px 20px rgba(33,27,22,.035); overflow:hidden; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.by-card:hover { border-color:var(--by-gold); box-shadow:var(--by-shadow); transform:translateY(-4px); }
.by-card-body { display:flex; flex:1; flex-direction:column; min-height:190px; padding:22px; }
.by-card-cover { height:142px; overflow:hidden; border-bottom:1px solid var(--by-line); background:linear-gradient(135deg,#2b2119,#55432d); }
.by-card-cover img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 28%; filter:saturate(.72) contrast(.96); transition:filter .35s ease,transform .35s ease; }
.by-card:hover .by-card-cover img { filter:saturate(.92) contrast(1); transform:scale(1.035); }
.by-info-card { min-height:0; }
.by-info-card .by-card-cover { height:154px; }
.by-card-icon { display:grid; width:38px; height:38px; place-items:center; color:var(--by-gold); border:1px solid var(--by-gold); border-radius:50%; font-family:Georgia,serif; font-size:12px; letter-spacing:.05em; }
.by-card h3 { margin:24px 0 11px; color:var(--by-deep); font-family:"Songti SC","STSong",serif; font-size:21px; font-weight:600; }
.by-card p { margin:0; color:var(--by-muted); font-size:14px; line-height:1.75; }
.by-card-action { display:inline-block; margin-top:auto; padding-top:20px; color:#8b6a36; font-size:13px; font-weight:800; letter-spacing:.03em; text-decoration:none; }
.by-release { min-height:100%; padding:0; overflow:hidden; }
.by-release-title { color:inherit; text-decoration:none; }
.by-release-cover { height:210px; display:flex; align-items:center; justify-content:center; padding:0; overflow:hidden; color:var(--by-gold-light); background:linear-gradient(135deg,#2b2119,#55432d); font-family:"Songti SC","STSong",serif; font-weight:600; }
.by-release-cover img { width:100%; height:100%; object-fit:cover; object-position:center 28%; filter:saturate(.74) contrast(.96); transition:filter .35s ease,transform .35s ease; }
.by-release:hover .by-release-cover img { filter:saturate(1) contrast(1); transform:scale(1.035); }
.by-release-body { display:flex; flex:1; flex-direction:column; padding:22px; }
.by-release-meta { color:#9d7c47; font-size:12px; font-weight:700; letter-spacing:.04em; }
.by-release h3 { margin:13px 0; font-size:21px; }
.by-trust { display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; border:1px solid var(--by-line); border-radius:3px; background:var(--by-paper); }
.by-trust-item { padding:28px 25px; border-right:1px solid var(--by-line); }
.by-trust-item:last-child { border-right:0; }
.by-trust-item strong { display:block; margin-bottom:9px; color:var(--by-deep); font-family:"Songti SC","STSong",serif; font-size:18px; font-weight:600; }
.by-trust-item span { color:var(--by-muted); font-size:14px; line-height:1.7; }
.by-page-wrap { max-width:1020px; margin:0 auto; padding:56px 24px 92px; }
.by-page-hero { padding:48px; margin-bottom:34px; color:#eee2d1; background:linear-gradient(135deg,#211b16,#34291f); border-left:2px solid var(--by-gold); border-radius:2px; }
.by-page-hero h1 { margin-bottom:17px; font-size:48px; }
.by-page-hero p { max-width:760px; color:#dfd1be; line-height:1.9; }
.by-breadcrumbs { margin:0 0 20px; color:#8f8376; font-size:13px; }
.by-breadcrumbs a { color:#8f8376; text-decoration:none; }
.by-content { color:#50483f; line-height:1.9; }
.by-content h2 { margin:38px 0 14px; color:var(--by-deep); font-family:"Songti SC","STSong",serif; font-size:29px; }
.by-content h3 { margin:26px 0 9px; color:var(--by-deep); font-size:20px; }
.by-content a { color:#8b6a36; font-weight:700; }
.by-content ul { padding-left:1.25em; }
.by-contact-card { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; max-width:620px; overflow:hidden; border:1px solid var(--by-line); background:var(--by-line); }
.by-contact-card p { display:flex; align-items:baseline; justify-content:space-between; gap:18px; margin:0; padding:22px 24px; background:var(--by-paper); }
.by-contact-card span { color:#8b6a36; font-size:13px; font-weight:800; letter-spacing:.08em; }
.by-contact-card strong { color:var(--by-deep); font-family:"Songti SC","STSong",serif; font-size:21px; letter-spacing:.03em; }
.by-copy-button { min-width:54px; padding:7px 10px; color:#8b6a36; border:1px solid #b8965a; border-radius:2px; background:transparent; cursor:pointer; font:700 12px -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; letter-spacing:.04em; transition:background .2s ease,color .2s ease; }
.by-copy-button:hover,.by-copy-button.is-copied { color:var(--by-deep); background:var(--by-gold-light); }
.by-release-media { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; margin:0 0 34px; }
.by-release-media figure { margin:0; }
.by-release-image img,.by-release-video video { display:block; width:100%; max-height:640px; object-fit:cover; border:1px solid var(--by-line); border-radius:2px; background:#e9e1d5; }
.by-release-video figcaption { margin-top:9px; color:var(--by-muted); font-size:12px; }
.by-faq { padding:20px 0; border-bottom:1px solid var(--by-line); }
.by-faq strong { color:var(--by-deep); }
.by-guides-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:28px 0; }
.by-guide-item { display:flex; flex-direction:column; min-height:230px; padding:26px; border:1px solid var(--by-line); background:var(--by-paper); }
.by-guide-item h3 { margin:12px 0; font-family:"Songti SC","STSong",serif; font-size:22px; }
.by-guide-item h3 a { color:var(--by-deep); text-decoration:none; }
.by-guide-item p { margin:0; color:var(--by-muted); font-size:14px; line-height:1.8; }
.by-guide-meta,.by-guide-meta a { color:#9d7c47; font-size:12px; font-weight:700; letter-spacing:.04em; text-decoration:none; }
.by-site-footer { color:#d8c8b4; background:#16120f; }
.by-footer-bottom { padding:22px 0; color:#96836c; font-size:13px; text-align:center; }
@media (max-width:980px) { .by-grid-five { grid-template-columns:repeat(3,1fr); } .by-hero-grid { grid-template-columns:1fr; padding:62px 0; } .by-hero-art { display:none; } .by-nav { gap:16px; overflow-x:auto; } .by-header-actions { display:none; } .by-city-group { grid-template-columns:76px minmax(0,1fr); } .by-city-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:680px) { .by-shell { padding:0 16px; } .by-header-row { min-height:62px; gap:15px; position:relative; } .by-brand { font-size:22px; } .by-nav { flex:1; gap:13px; } .by-nav a { font-size:12px; white-space:nowrap; } .by-nav a:nth-child(n+4) { display:none; } .by-mobile-menu { display:block; } .by-section { padding:54px 0; } .by-section h2 { font-size:30px; } .by-grid-five,.by-grid-three,.by-trust,.by-release-media,.by-contact-card,.by-guides-list { grid-template-columns:1fr; } .by-card-body { min-height:0; } .by-info-card .by-card-cover { height:188px; } .by-trust-item { border-right:0; border-bottom:1px solid var(--by-line); } .by-trust-item:last-child { border-bottom:0; } .by-page-wrap { padding:36px 16px 68px; } .by-page-hero { padding:30px 24px; } .by-page-hero h1 { font-size:37px; } .by-hero h1 { font-size:42px; } .by-section-city .by-section-head { flex-direction:column; align-items:flex-start; gap:12px; } .by-section-city .by-link { white-space:nowrap; } .by-city-directory { gap:20px; } .by-city-group { grid-template-columns:1fr; gap:10px; } .by-city-group-label { padding:0 0 8px; border-top:0; border-bottom:1px solid var(--by-gold); writing-mode:horizontal-tb; } .by-city-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .by-city-card { min-height:126px; padding:16px 14px 14px; } .by-city-card strong { margin-top:13px; font-size:22px; } }
