/* 全局重置与防溢出 */
* { box-sizing: border-box; margin: 0; padding: 0; min-width: 0; }
body.best-body { background-color: #fafafa; color: #222222; font-family: "Georgia", "Times New Roman", serif; overflow-x: hidden; width: 100%; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }

/* 容器与顶部区域 */
.best-container { max-width: 1100px; margin: 0 auto; padding: 0 15px; width: 100%; }
.best-header { background: transparent; padding: 30px 0; border-bottom: 1px solid #eeeeee; }
.best-header-wrap { display: flex; justify-content: space-between; align-items: center; }
.best-logo { font-size: 24px; font-weight: bold; letter-spacing: 2px; color: #111; text-transform: uppercase; }
.best-nav { display: flex; list-style: none; align-items: center; gap: 30px; }
.best-nav-item a { display: block; font-size: 13px; font-weight: normal; color: #555; transition: color 0.3s; letter-spacing: 1px; text-transform: capitalize; }
.best-nav-item a:hover, .best-nav-item.active a { color: #111; }
.best-header-right { font-size: 13px; color: #555; letter-spacing: 1px; }

/* 标题与公告 */
.best-notice { background: #ffffff; border: 1px solid #eee; padding: 15px 20px; font-size: 13px; color: #555; margin: 20px auto; text-align: center; font-style: italic; }
.best-sec-title-wrap { text-align: center; margin: 80px 0 40px; }
.best-sec-title { font-size: 32px; font-weight: normal; color: #111; margin-bottom: 15px; line-height: 1.3; }
.best-sec-desc { font-size: 14px; color: #777; max-width: 600px; margin: 0 auto; line-height: 1.8; }

/* 按钮通用 */
.best-btn { background: #222; color: #fff; padding: 12px 30px; font-size: 11px; font-family: "Helvetica Neue", sans-serif; font-weight: bold; display: inline-block; border: none; cursor: pointer; transition: all 0.3s; text-transform: uppercase; letter-spacing: 2px; }
.best-btn:hover { background: #555; }
.best-link-btn { font-size: 11px; font-family: "Helvetica Neue", sans-serif; font-weight: bold; color: #111; text-transform: uppercase; letter-spacing: 2px; border-bottom: 1px solid #111; padding-bottom: 2px; transition: 0.3s; }
.best-link-btn:hover { color: #777; border-color: #777; }

/* 方框一：顶部错落图文 */
.best-hero-sec { margin-top: 60px; margin-bottom: 80px; }
.best-hero-title { font-size: 80px; font-weight: normal; line-height: 1.1; margin-bottom: 30px; color: #111; letter-spacing: -1px; }
@media(max-width: 768px) { .best-hero-title { font-size: 48px; } }
.best-hero-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 40px; align-items: center; }
@media(max-width: 768px) { .best-hero-grid { grid-template-columns: 1fr; } }
.best-hero-img-box img { width: 100%; height: auto; object-fit: cover; }
.best-hero-img-box.tall img { height: 400px; }
.best-hero-img-box.short img { height: 250px; }

/* 方框二：宽幅长图 */
.best-wide-banner { margin-bottom: 80px; }
.best-wide-banner img { width: 100%; height: 400px; object-fit: cover; }

/* 方框三：极简菜单列表 */
.best-menu-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 80px; max-width: 800px; margin: 0 auto 80px; }
@media(max-width: 768px) { .best-menu-grid { grid-template-columns: 1fr; } }
.best-menu-item { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px dotted #ccc; padding-bottom: 8px; margin-bottom: 15px; }
.best-menu-name { font-size: 13px; font-family: "Helvetica Neue", sans-serif; font-weight: bold; color: #333; text-transform: uppercase; letter-spacing: 1px; }
.best-menu-price { font-size: 14px; color: #555; }

/* 方框四：热门商品网格 */
.best-popular-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; margin-bottom: 80px; }
@media (max-width: 992px) { .best-popular-grid { grid-template-columns: repeat(2, 1fr); } }
.best-popular-card { text-align: center; }
.best-popular-img-wrap { background: #fff; border: 1px solid #f0f0f0; padding: 30px; margin-bottom: 20px; transition: transform 0.3s; }
.best-popular-card:hover .best-popular-img-wrap { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0,0,0,0.03); }
.best-popular-img-wrap img { width: 100%; height: 180px; object-fit: contain; }
.best-popular-title { font-size: 12px; font-family: "Helvetica Neue", sans-serif; text-transform: uppercase; letter-spacing: 1px; color: #555; margin-bottom: 10px; }
.best-popular-price { font-size: 15px; color: #111; }

/* 方框五：左右特写图文 */
.best-taste-sec { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; background: #f3f3f3; padding: 60px; margin-bottom: 80px; }
@media (max-width: 768px) { .best-taste-sec { grid-template-columns: 1fr; padding: 30px; } }
.best-taste-img img { width: 100%; height: 350px; object-fit: cover; }
.best-taste-info h3 { font-size: 32px; font-weight: normal; margin-bottom: 20px; line-height: 1.3; }
.best-taste-info p { font-size: 14px; color: #777; line-height: 1.8; margin-bottom: 30px; }

/* 方框六：错落图片阵列 */
.best-stagger-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; align-items: end; margin-bottom: 80px; }
@media (max-width: 768px) { .best-stagger-grid { grid-template-columns: repeat(2, 1fr); } }
.best-stagger-item img { width: 100%; object-fit: cover; transition: 0.3s; cursor: pointer; }
.best-stagger-item:hover img { opacity: 0.8; }
.best-stagger-item.h-med img { height: 260px; }
.best-stagger-item.h-short img { height: 180px; }
.best-stagger-item.h-tall img { height: 320px; }

/* 表格与内页 */
.best-table { width: 100%; border-collapse: collapse; background: #ffffff; border: 1px solid #eeeeee; margin-bottom: 80px; }
.best-table th, .best-table td { padding: 18px 20px; text-align: left; border-bottom: 1px solid #f5f5f5; font-size: 13px; font-family: "Helvetica Neue", sans-serif; }
.best-table th { background: #fafafa; color: #111; font-weight: bold; text-transform: uppercase; letter-spacing: 1px; }
.best-badge { display: inline-block; padding: 3px 8px; font-size: 10px; font-weight: bold; text-transform: uppercase; letter-spacing: 1px; }
.best-badge-auto { background: #111; color: #fff; }
.best-badge-manual { background: #eee; color: #555; }
.best-detail-wrap { background: #ffffff; padding: 50px; margin-bottom: 60px; border: 1px solid #eeeeee; }

/* 底部区域 */
.best-footer { padding: 60px 0 40px; text-align: center; border-top: 1px solid #eeeeee; }
.best-footer-contact { font-size: 24px; color: #111; margin-bottom: 10px; }
.best-footer-address { font-size: 12px; font-family: "Helvetica Neue", sans-serif; color: #777; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 30px; }
.best-footer-social { display: flex; justify-content: center; gap: 20px; margin-bottom: 30px; font-size: 14px; font-family: "Helvetica Neue", sans-serif; }
.best-footer-social a { color: #111; font-weight: bold; }
.best-copyright { font-size: 11px; font-family: "Helvetica Neue", sans-serif; color: #999; text-transform: uppercase; letter-spacing: 1px; }

/* 通用防溢出与移动端自适应 */
[style*="nowrap"], div[class*="title"], p[class*="title"], a[class*="title"], .best-text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 768px) {
    .best-header-wrap { flex-direction: column; gap: 20px; }
    .best-nav { flex-wrap: wrap; justify-content: center; gap: 15px; }
    .best-grid-4, .best-stagger-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
