/* 悠悠空间复刻站 - 补充样式 */
.white-popup {
  background: #fff;
  max-width: 560px;
  margin: 40px auto;
  padding: 30px 36px;
  border-radius: 10px;
  position: relative;
}
.white-popup .form-group { margin-bottom: 16px; }
.white-popup label { font-weight: 600; color: #3d2817; }
.yy-lead-form .btn-primary { background: #5C6B47; border-color: #5C6B47; }
.yy-lead-form .btn-primary:hover { background: #4a5739; }
.back-to-top.hidden { display: none; }
.page-main { min-height: 60vh; }
.yy-admin-fab {
  position: fixed; right: 18px; bottom: 18px; z-index: 9999;
  background: #5C6B47; color: #fff; padding: 10px 16px; border-radius: 24px;
  text-decoration: none; font-size: 13px; box-shadow: 0 4px 14px rgba(0,0,0,.2);
}
.yy-admin-fab:hover { color: #fff; background: #4a5739; }
.yy-child-card { display:block; text-decoration:none; background:#fff; border:1px solid #e2e8d8; border-radius:10px; padding:24px; color:#3D2817; transition:.2s; }
.yy-child-card:hover { box-shadow:0 6px 18px rgba(92,107,71,.18); transform:translateY(-2px); color:#5C6B47; }

/* ===== 导航居中 + Logo（对齐原站观感：宽松间距、Logo 放大） ===== */
.navbar { background: #fff; padding: .75rem 1rem; box-shadow: 0 1px 0 rgba(0,0,0,.04); }
.navbar .navbar-collapse { justify-content: center; }
.navbar-nav.mx-auto { margin-left: auto; margin-right: auto; }
/* 菜单项：加大左右内边距、字号与字距，解决“拥挤” */
.navbar-nav .nav-link {
  padding: .5rem 1.45rem !important;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: .5px;
  color: #3d2817;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus { color: #5C6B47; }
.navbar-nav .nav-item.show > .nav-link,
.navbar-nav .nav-link.dropdown-toggle { color: #5C6B47; }
.navbar-nav .dropdown-menu { border-radius: 10px; border: 1px solid #e2e8d8; box-shadow: 0 8px 24px rgba(0,0,0,.08); margin-top: 6px; }
.navbar-nav .dropdown-item { padding: .5rem 1.4rem; color: #3d2817; }
.navbar-nav .dropdown-item:hover { background: #EDF3E6; color: #5C6B47; }
/* 语言切换按钮间距 */
.navbar .btn-light { background: transparent; border: none; padding: .25rem .4rem; }
/* Logo：保持 2:1 横版比例，放大到接近原站 */
.navbar-brand { display: flex; align-items: center; margin-right: 1.5rem; }
.navbar-brand img { height: 70px !important; width: auto; }
.navbar .navbar-toggler { margin-left: auto; border-color: #5C6B47; }
@media (max-width: 767px) {
  .navbar-brand img { height: 44px !important; }
  .navbar-nav .nav-link { padding: .5rem 1rem !important; }
}

/* ===== 全局在线预约浮动按钮 ===== */
.yy-book-fab {
  position: fixed; right: 18px; bottom: 110px; z-index: 9997;
  display: flex; align-items: center; gap: 10px; width: 204px; padding: 14px 14px;
  background: linear-gradient(135deg, #F5853F 0%, #E96E18 100%);
  color: #fff; border-radius: 16px; text-decoration: none;
  box-shadow: 0 12px 30px rgba(233,110,24,.38), 0 2px 6px rgba(0,0,0,.08);
  transition: transform .22s ease, box-shadow .22s ease;
}
.yy-book-fab:hover, .yy-book-fab:focus {
  color: #fff; text-decoration: none;
  transform: translateX(-4px);
  box-shadow: 0 16px 38px rgba(233,110,24,.48), 0 2px 8px rgba(0,0,0,.1);
}
.yy-fab-ic {
  flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%;
  background: rgba(255,255,255,.22); display: flex; align-items: center; justify-content: center;
  font-size: 19px;
}
.yy-fab-body { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.yy-fab-body strong { font-size: 16px; font-weight: 700; letter-spacing: .5px; }
.yy-fab-body small { font-size: 11px; opacity: .94; margin-top: 3px; white-space: nowrap; }
.yy-fab-arrow { margin-left: auto; font-size: 20px; line-height: 1; opacity: .85; }
/* 右上角提示小圆点：呼吸光圈，吸引注意但不打扰 */
.yy-fab-dot {
  position: absolute; top: -5px; right: -5px; width: 13px; height: 13px; border-radius: 50%;
  background: #FFD580; border: 2px solid #fff;
  animation: yyFabPulse 2s infinite;
}
@keyframes yyFabPulse {
  0%   { box-shadow: 0 0 0 0 rgba(255,213,128,.9); }
  70%  { box-shadow: 0 0 0 12px rgba(255,213,128,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,213,128,0); }
}
@media (max-width: 820px) {
  .yy-book-fab {
    bottom: 76px; left: 12px; right: auto; transform: none;
    width: auto; padding: 10px 14px; border-radius: 14px; gap: 8px;
  }
  .yy-book-fab:hover, .yy-book-fab:focus { transform: translateY(-2px); }
  .yy-fab-ic { flex-basis: 30px; width: 30px; height: 30px; font-size: 15px; }
  .yy-fab-body strong { font-size: 15px; }
  .yy-fab-body small, .yy-fab-arrow { display: none; }
}

/* ===== 预约弹窗卡片 ===== */
.yy-popup-card { max-width: 460px; }
.yy-popup-title { color: #3d2817; margin-bottom: 4px; }
.yy-popup-sub { color: #6b6157; font-size: 13px; margin-bottom: 18px; }
.yy-popup-card .form-group { margin-bottom: 14px; }
.yy-popup-card label { font-weight: 600; color: #3d2817; font-size: 14px; }
.yy-popup-card .btn-block { width: 100%; }

/* ===== 悠悠推文 / 文章列表 ===== */
.yy-blog-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.yy-blog-card { display: block; text-decoration: none; background: #fff; border: 1px solid #e2e8d8;
  border-radius: 12px; overflow: hidden; color: #3d2817; transition: .2s; }
.yy-blog-card:hover { box-shadow: 0 8px 22px rgba(92,107,71,.18); transform: translateY(-3px); color: #5C6B47; }
.yy-blog-card .thumb { width: 100%; height: 180px; object-fit: cover; display: block; background: #eef2e6; }
.yy-blog-card .body { padding: 16px 18px; }
.yy-blog-card .title { font-size: 16px; font-weight: 600; line-height: 1.5; margin: 0 0 8px; }
.yy-blog-card .date { color: #9aa088; font-size: 12px; }
.yy-blog-card .linkout { display: inline-block; margin-top: 8px; color: #5C6B47; font-size: 13px; font-weight: 600; }
.yy-blog-card .linkout::after { content: " \f08e"; font-family: FontAwesome; }

/* 文章正文图片自适应 */
.yy-post img, .page-main img { max-width: 100%; height: auto; }
.yy-post .post-content { font-size: 16px; line-height: 1.9; }

/* ===== 独立 Banner（由后台 Banner 管理控制，不再嵌在正文里） ===== */
.yy-page-banner {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
}
.yy-banner-mask {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(61,40,23,.30) 0%, rgba(61,40,23,.55) 100%);
}
.yy-banner-content { position: relative; z-index: 2; padding: 40px 20px; max-width: 900px; }
.yy-banner-title {
  font-size: 2.6rem; font-weight: 700; margin: 0 0 14px;
  text-shadow: 0 2px 12px rgba(0,0,0,.35); color: #fff;
}
.yy-banner-sub { font-size: 1.15rem; margin: 0 0 22px; opacity: .95; text-shadow: 0 1px 8px rgba(0,0,0,.4); }
.yy-banner-cta { background: #5C6B47; border-color: #5C6B47; padding: 12px 34px; font-size: 16px; font-weight: 600; border-radius: 26px; }
.yy-banner-cta:hover { background: #4a5739; border-color: #4a5739; }
@media (max-width: 767px) {
  .yy-page-banner { min-height: 240px; }
  .yy-banner-title { font-size: 1.7rem; }
  .yy-banner-sub { font-size: .95rem; }
}
/* online 页：banner 移出后的预约表单区块 */
.yy-booking-block .yy-lead-form { background: #fff; padding: 26px 30px; border-radius: 12px; box-shadow: 0 6px 22px rgba(0,0,0,.08); }
.yy-booking-block .yy-lead-form .btn-primary { background: #5C6B47; border-color: #5C6B47; }
.yy-booking-block .yy-lead-form .btn-primary:hover { background: #4a5739; }

