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

:root { --by-navy:#102b55; --by-blue:#135de8; --by-coral:#f45a4f; --by-gold:#f4b62b; --by-ink:#1b2638; --by-muted:#667085; --by-line:#e7edf5; --by-sky:#f2f8ff; }
* { box-sizing:border-box; }
body { background:#fff; color:var(--by-ink); }
body.page .wp-block-post-title { 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(255,255,255,.96); border-bottom:1px solid var(--by-line); backdrop-filter:blur(12px); }
.by-header-row { min-height:72px; display:flex; align-items:center; gap:26px; }
.by-brand { color:var(--by-blue); font-size:28px; line-height:1; font-weight:800; text-decoration:none; white-space:nowrap; }
.by-nav { display:flex; align-items:center; gap:23px; flex:1; }
.by-nav a { color:var(--by-ink); font-size:15px; font-weight:600; text-decoration:none; }
.by-nav a:hover { color:var(--by-blue); }
.by-header-actions { display:flex; align-items:center; gap:10px; }
.by-city { color:var(--by-muted); font-size:14px; white-space:nowrap; }
.by-button, .by-button-outline { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:0 16px; border-radius:9px; font-weight:700; text-decoration:none; font-size:14px; }
.by-button { color:#fff; background:var(--by-blue); border:1px solid var(--by-blue); }
.by-button-outline { color:var(--by-blue); background:#fff; border:1px solid var(--by-blue); }
.by-disabled { color:var(--by-muted); font-size:13px; }
.by-hero { overflow:hidden; background:linear-gradient(115deg,#f8fbff 0%,#e8f3ff 49%,#fff7ed 100%); border-bottom:1px solid var(--by-line); }
.by-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; min-height:430px; align-items:center; gap:36px; }
.by-eyebrow { color:var(--by-coral); font-weight:800; font-size:14px; letter-spacing:.08em; }
.by-hero h1, .by-page-hero h1 { margin:12px 0 16px; color:var(--by-navy); font-size:clamp(36px,5vw,60px); line-height:1.1; letter-spacing:-.04em; }
.by-hero p { max-width:580px; color:#40506a; font-size:18px; line-height:1.8; }
.by-hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
.by-hero-art { position:relative; min-height:300px; }
.by-orb { position:absolute; border-radius:50%; filter:blur(.2px); }
.by-orb.one { width:260px; height:260px; top:22px; right:70px; background:linear-gradient(135deg,#72b9ff,#a8e3d0); }
.by-orb.two { width:180px; height:180px; bottom:10px; left:12px; background:linear-gradient(135deg,#ffd38a,#ff9890); }
.by-hero-card { position:absolute; right:0; bottom:24px; width:78%; padding:26px; border:1px solid rgba(255,255,255,.7); border-radius:22px; background:rgba(255,255,255,.78); box-shadow:0 20px 48px rgba(22,62,117,.12); }
.by-hero-card strong { display:block; color:var(--by-navy); font-size:22px; margin-bottom:8px; }
.by-section { padding:64px 0; }
.by-section-alt { background:#fbfdff; border-top:1px solid var(--by-line); border-bottom:1px solid var(--by-line); }
.by-section-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:25px; }
.by-section h2 { margin:0; color:var(--by-navy); font-size:30px; letter-spacing:-.02em; }
.by-section-head p { margin:8px 0 0; color:var(--by-muted); }
.by-link { color:var(--by-blue); text-decoration:none; font-weight:700; }
.by-grid { display:grid; gap:16px; }
.by-grid-five { grid-template-columns:repeat(5,1fr); }
.by-grid-three { grid-template-columns:repeat(3,1fr); }
.by-card { display:flex; flex-direction:column; min-height:200px; padding:22px; background:#fff; border:1px solid var(--by-line); border-radius:16px; text-decoration:none; color:var(--by-ink); box-shadow:0 8px 22px rgba(18,43,85,.04); transition:transform .18s ease, box-shadow .18s ease; }
.by-card:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(18,43,85,.1); }
.by-card-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; color:#fff; background:var(--by-blue); font-size:21px; }
.by-card:nth-child(2n) .by-card-icon { background:var(--by-coral); }
.by-card:nth-child(3n) .by-card-icon { background:var(--by-gold); }
.by-card h3 { margin:18px 0 10px; color:var(--by-navy); font-size:19px; }
.by-card p { margin:0; color:var(--by-muted); font-size:14px; line-height:1.65; }
.by-card span { margin-top:auto; padding-top:18px; color:var(--by-blue); font-weight:800; font-size:14px; }
.by-release { padding:0; min-height:100%; overflow:hidden; }
.by-release-cover { height:176px; background:linear-gradient(135deg,#dcecff,#fff2d9); display:flex; align-items:center; justify-content:center; padding:0; color:var(--by-navy); font-weight:800; overflow:hidden; }
.by-release-cover img { width:100%; height:100%; object-fit:cover; object-position:center 28%; transition:transform .35s ease; }
.by-release:hover .by-release-cover img { transform:scale(1.035); }
.by-release-body { padding:18px; }
.by-release-meta { color:var(--by-muted); font-size:13px; }
.by-release h3 { margin:10px 0; font-size:18px; }
.by-trust { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--by-line); border-radius:16px; background:#fff; overflow:hidden; }
.by-trust-item { padding:24px; border-right:1px solid var(--by-line); }
.by-trust-item:last-child { border-right:0; }
.by-trust-item strong { display:block; color:var(--by-navy); margin-bottom:7px; }
.by-trust-item span { color:var(--by-muted); font-size:14px; line-height:1.55; }
.by-compliance { margin-top:22px; padding:16px 19px; color:#7a3100; background:#fff8ec; border:1px solid #f5d598; border-radius:12px; font-weight:700; }
.by-page-wrap { max-width:980px; margin:0 auto; padding:44px 24px 80px; }
.by-page-hero { padding:34px; margin-bottom:28px; background:linear-gradient(135deg,#f1f8ff,#fff7ed); border-radius:20px; }
.by-page-hero h1 { font-size:42px; }
.by-page-hero p { max-width:760px; color:#40506a; line-height:1.8; }
.by-breadcrumbs { margin:0 0 18px; color:var(--by-muted); font-size:14px; }
.by-breadcrumbs a { color:var(--by-muted); text-decoration:none; }
.by-content { color:#334155; line-height:1.85; }
.by-content h2 { margin:34px 0 12px; color:var(--by-navy); font-size:27px; }
.by-content h3 { margin:24px 0 8px; color:var(--by-navy); font-size:20px; }
.by-content a { color:var(--by-blue); font-weight:700; }
.by-content ul { padding-left:1.25em; }
.by-release-media { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; margin:0 0 28px; }
.by-release-media figure { margin:0; }
.by-release-image img,.by-release-video video { display:block; width:100%; max-height:620px; object-fit:cover; border-radius:16px; background:#e8eef5; }
.by-release-video figcaption { margin-top:8px; color:var(--by-muted); font-size:13px; }
.by-faq { padding:18px 0; border-bottom:1px solid var(--by-line); }
.by-faq strong { color:var(--by-navy); }
.by-site-footer { color:#d9e5f7; background:var(--by-navy); }
.by-footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:28px; padding:54px 0 26px; }
.by-site-footer h2 { color:#fff; margin:0 0 12px; font-size:21px; }
.by-site-footer h3 { color:#fff; font-size:15px; }
.by-site-footer p, .by-site-footer li, .by-site-footer a { color:#c4d1e6; font-size:14px; line-height:1.7; text-decoration:none; }
.by-site-footer ul { margin:0; padding:0; list-style:none; }
.by-footer-bottom { padding:18px 0; border-top:1px solid rgba(255,255,255,.15); color:#aabbd3; font-size:13px; }
@media (max-width:980px) { .by-grid-five { grid-template-columns:repeat(3,1fr); } .by-hero-grid { grid-template-columns:1fr; padding:48px 0; } .by-hero-art { display:none; } .by-nav { overflow-x:auto; gap:16px; } .by-header-actions { display:none; } }
@media (max-width:680px) { .by-shell { padding:0 16px; } .by-header-row { min-height:62px; gap:14px; } .by-brand { font-size:23px; } .by-nav a:nth-child(n+4) { display:none; } .by-section { padding:42px 0; } .by-grid-five,.by-grid-three,.by-trust,.by-footer-grid,.by-release-media { grid-template-columns:1fr; } .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:30px 16px 60px; } .by-page-hero { padding:24px; } .by-page-hero h1 { font-size:34px; } }
