/* ============================================================
 * 碟艺餐饮 CMS · 首页（对齐 2026-07 设计稿：1920 画布）
 * 版式基准：卡片网格 1772 容器 / 宴会动态·行业信息 1200 容器 /
 *           服务流程·常见问题 1600 容器；字号与间距按 1920 等比缩放（vw）
 * 仅作用于 .dy2-* 新结构，不侵入 300.cn 原版样式（轮播/导航保持原样）
 * ============================================================ */

.dy2-cards-sec,
.dy2-band,
.dy2-flow {
  --dy2-ink: #333;
  --dy2-gray: #666;
  --dy2-band-bg: #F2EEE9;
  --dy2-red: #A72933;
}

/* ---------- 容器（三档宽度） ---------- */
.dy2-wrap {
  width: 100%;
  padding: 0 3.9vw;
  box-sizing: border-box;
}
.dy2-wrap-1200 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
.dy2-wrap-1600 {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

/* ============================================================
 * 1. 轮播下方信息带（深色半透明 + 两行居中白字）
 * ============================================================ */
.dy2-hero-band {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99;
  padding: 0.6vw 4% 0.7vw;
  background: rgba(0, 0, 0, .55);
  text-align: center;
  box-sizing: border-box;
}
.dy2-hero-band p {
  margin: 0;
  color: #fff;
  line-height: 1.65;
}
.dy2-hero-line1 {
  font-size: clamp(12px, 1.22vw, 24px);
  letter-spacing: .5px;
}
.dy2-hero-line2 {
  font-size: clamp(11px, 1.06vw, 21px);
  color: rgba(255, 255, 255, .88);
}
.dy2-hero-line2 a {
  color: inherit;
  text-decoration: none;
}
.dy2-hero-line2 a:hover { color: #ffd9a0; }
.dy2-hero-go { font-style: normal; margin-left: .4vw; }

/* ============================================================
 * 2. 三大板块 Tab（三等分满宽）+ 四列图卡网格
 * ============================================================ */
.dy2-tabs-bar {
  display: flex;
  width: 100%;
  background: #EDEDED;
}
.dy2-tab {
  flex: 1 1 0;
  height: clamp(44px, 4.48vw, 86px);
  line-height: clamp(44px, 4.48vw, 86px);
  text-align: center;
  font-size: clamp(13px, 1.46vw, 28px);
  color: #777;
  cursor: pointer;
  transition: background .2s, color .2s;
}
.dy2-tab:hover { color: #333; }
.dy2-tab.is-on {
  background: #fff;
  color: var(--dy2-ink);
  font-weight: 700;
}
.dy2-pane { display: none; }
.dy2-pane.is-on { display: block; }

.dy2-cards-sec {
  background: #fff;
  padding-bottom: 2.6vw;
}
.dy2-pane .dy2-wrap { padding-top: 2vw; }
.dy2-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 3.8vw;
  row-gap: 2.4vw;
}
.dy2-card { display: block; text-decoration: none; }
.dy2-card-pic {
  position: relative;
  width: 100%;
  aspect-ratio: 388 / 250;
  background: #f1f1f1 center/cover no-repeat;
  overflow: hidden;
}
.dy2-card-pic::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  transition: background .25s;
}
.dy2-card:hover .dy2-card-pic::after { background: rgba(0, 0, 0, .12); }
.dy2-card-tag {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  height: clamp(28px, 2.9vw, 56px);
  line-height: clamp(28px, 2.9vw, 56px);
  padding: 0 clamp(12px, 1.3vw, 26px);
  font-style: normal;
  font-size: clamp(13px, 1.35vw, 26px);
  font-weight: 700;
  color: #fff;
  letter-spacing: 1px;
}
.t-gold   { background: #E0A21B; }
.t-gray   { background: #8E8E8E; }
.t-orange { background: #E07B39; }
.t-black  { background: #333333; }
.t-red    { background: #8C1F28; }
.t-steel  { background: #5A6B7C; }
.dy2-card-desc {
  margin: 1vw 0 0;
  font-size: clamp(10px, 1.0vw, 20px);
  line-height: 1.6;
  color: var(--dy2-gray);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ---------- 板块呈现方式 A：表格文档（home_tabs.layout = doc，用餐菜单） ---------- */
.dy2-doc {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #e6e0d8;
}
.dy2-doc thead th {
  padding: 1.1vw 1.4vw;
  background: #f7f3ec;
  border: 1px solid #e6e0d8;
  text-align: left;
  font-size: clamp(12px, 1.2vw, 23px);
  font-weight: 700;
  color: #474747;
  letter-spacing: .5px;
}
.dy2-doc-c3 { width: 16%; }
.dy2-doc tbody th {
  width: 21%;
  padding: 1.3vw 1.4vw;
  border: 1px solid #e6e0d8;
  text-align: left;
  vertical-align: middle;
  font-size: clamp(12px, 1.28vw, 24px);
  font-weight: 700;
  color: var(--dy2-ink);
  background: #fdfbf8;
}
.dy2-doc-thumb {
  display: block;
  width: 100%;
  height: clamp(58px, 6.2vw, 118px);
  margin-bottom: .6vw;
  background: #f1f1f1 center/cover no-repeat;
}
.dy2-doc-name { display: block; }
.dy2-doc tbody td {
  padding: 1.3vw 1.4vw;
  border: 1px solid #e6e0d8;
  vertical-align: middle;
  font-size: clamp(12px, 1.22vw, 23px);
  line-height: 1.75;
  color: var(--dy2-gray);
}
.dy2-doc-link { color: var(--dy2-red) !important; font-weight: 600; white-space: nowrap; }
.dy2-doc tbody tr:hover th { background: #faf6f0; }
.dy2-doc tbody tr:hover td { background: #fdfcf9; }

/* ---------- 板块呈现方式 B：瀑布流（home_tabs.layout = grid，器具出租） ----------
   与 /page/xxx 详情页的 .dy-masonry 同款：白底圆角卡片、标题带下边线，多列错落。 */
.dy2-masonry {
  columns: 3;
  column-gap: 1.8vw;
}
.dy2-masonry-item {
  /* block（原 inline-block）：多列容器里 inline-block 卡片内含图片会触发列宽重算 bug，挤成单列 */
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  margin: 0 0 1.5vw;
  padding: 1.3vw 1.4vw .4vw;
  background: #fff;
  border: 1px solid #e6e0d8;
  border-radius: 8px;
  text-decoration: none;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
}
.dy2-masonry-item h3 {
  margin: 0 0 .8vw;
  padding-bottom: .7vw;
  font-size: clamp(13px, 1.28vw, 24px);
  font-weight: 700;
  color: var(--dy2-ink);
  border-bottom: 1px solid #ece6dd;
}
.dy2-masonry-item p {
  margin: 0 0 .7vw;
  font-size: clamp(12px, 1.18vw, 22px);
  line-height: 1.8;
  color: var(--dy2-gray);
}
.dy2-masonry-item:hover h3 { color: var(--dy2-red); }
/* 小节配图（后台「分节配图」维护）：卡片顶部整宽图，无图小节保持原文字卡片 */
.dy2-masonry-img { display: block; margin: 0 0 .8vw; }
.dy2-masonry-img img { display: block; width: 100%; max-width: 100%; min-width: 0; height: auto; border-radius: 6px; }
@media (max-width: 992px) {
  .dy2-masonry { columns: 2; column-gap: 14px; }
  .dy2-masonry-item { margin-bottom: 14px; padding: 14px 16px 2px; }
  .dy2-masonry-item h3 { margin-bottom: 10px; padding-bottom: 8px; }
  .dy2-masonry-item p { margin-bottom: 8px; }
  .dy2-doc-thumb { height: 84px; }
}

/* 场景标签行 */
.dy2-scene {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding-top: 3.2vw;
  font-size: clamp(12px, 1.22vw, 23px);
}
.dy2-scene-more {
  color: var(--dy2-red) !important;
  font-weight: 600;
  margin-right: 2.2vw;
}
.dy2-scene-tag {
  color: var(--dy2-ink);
  margin-right: 1.7vw;
  line-height: 2;
}
.dy2-scene-tag:hover { color: var(--dy2-red); }

/* ============================================================
 * 3. 浅米色带（宴会动态 + 行业信息 / 常见问题）
 * ============================================================ */
.dy2-band {
  background: var(--dy2-band-bg);
  padding: 3.4vw 0 4.6vw;
}

/* 宴会动态 */
.dy2-news {
  display: flex;
  gap: 6.5%;
  padding-bottom: 5vw;
}
.dy2-news-side { width: 22%; }
.dy2-news-label {
  display: block;
  font-size: clamp(13px, 1.35vw, 26px);
  font-weight: 700;
  color: var(--dy2-ink);
  text-decoration: none;
  padding-bottom: 1.1vw;
}
.dy2-news-label:hover { color: var(--dy2-red); }
.dy2-news-pic {
  display: block;
  width: 100%;
  aspect-ratio: 266 / 165;
  background: #e6e0d8;
  overflow: hidden;
}
.dy2-news-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dy2-news-main { flex: 1; min-width: 0; }
.dy2-news-head {
  display: block;
  font-size: clamp(14px, 1.5vw, 29px);
  font-weight: 700;
  color: var(--dy2-ink);
  padding-bottom: 1vw;
}
.dy2-news-head:hover { color: var(--dy2-red); }
.dy2-news-sum {
  margin: 0;
  font-size: clamp(12px, 1.22vw, 23px);
  line-height: 1.85;
  color: #616161;
}
/* 宴会动态：模块内多条行业新闻标题（多入口，利于 SEO 与 AI 收录） */
.dy2-news-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 4%;
  row-gap: .85vw;
  padding-top: 1.5vw;
}
.dy2-news-item {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: clamp(12px, 1.2vw, 23px);
  line-height: 1.7;
  color: var(--dy2-gray);
  text-decoration: none;
}
.dy2-news-item:hover { color: var(--dy2-red); }
.dy2-news-all {
  display: inline-block;
  margin-top: 1.2vw;
  font-size: clamp(12px, 1.18vw, 22px);
  color: var(--dy2-red);
  text-decoration: none;
}
.dy2-news-all:hover { text-decoration: underline; }

/* 行业信息六宫格 */
.dy2-ind-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 4.7%;
  row-gap: 3.6vw;
}
.dy2-ind-cell { display: block; text-decoration: none; }
.dy2-ind-name {
  margin: 0 0 .9vw;
  font-size: clamp(14px, 1.66vw, 32px);
  font-weight: 700;
  color: var(--dy2-ink);
}
.dy2-ind-text {
  margin: 0;
  font-size: clamp(10px, 1.0vw, 20px);
  line-height: 1.8;
  color: var(--dy2-gray);
}
.dy2-ind-cell:hover .dy2-ind-name { color: var(--dy2-red); }
.dy2-more-center {
  padding-top: 4.4vw;
  text-align: center;
  font-size: clamp(12px, 1.2vw, 23px);
  color: var(--dy2-ink);
}
.dy2-more-center a:hover { color: var(--dy2-red); }

/* ============================================================
 * 4. 服务流程（白底 + 七步箭头）
 * ============================================================ */
.dy2-flow {
  background: #fff;
  padding: 3.6vw 0 4.6vw;
}
.dy2-flow-title {
  margin: 0 0 3vw;
  font-size: clamp(15px, 1.77vw, 34px);
  font-weight: 600;
  color: #474747;
}
.dy2-flow-row {
  display: flex;
  max-width: 1450px;
  margin: 0 auto;
}
.dy2-step { flex: 1 1 0; min-width: 0; }
.dy2-step + .dy2-step .dy2-step-arrow { margin-left: -1.9vw; }
.dy2-step-arrow {
  position: relative;
  height: clamp(44px, 5.73vw, 110px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(12px, 1.25vw, 24px);
  font-weight: 700;
  letter-spacing: 1px;
  color: #fff;
  clip-path: polygon(0 0, calc(100% - 1.9vw) 0, 100% 50%, calc(100% - 1.9vw) 100%, 0 100%, 1.9vw 50%);
}
.dy2-step:first-child .dy2-step-arrow {
  clip-path: polygon(0 0, calc(100% - 1.9vw) 0, 100% 50%, calc(100% - 1.9vw) 100%, 0 100%);
}
.dy2-step.s0 .dy2-step-arrow { background: #FBE3CE; color: #9C3A16; }
.dy2-step.s1 .dy2-step-arrow { background: #F8CFA4; color: #9C3A16; }
.dy2-step.s2 .dy2-step-arrow { background: #F6B678; }
.dy2-step.s3 .dy2-step-arrow { background: #EF9A4E; }
.dy2-step.s4 .dy2-step-arrow { background: #E27B33; }
.dy2-step.s5 .dy2-step-arrow { background: #C4492A; }
.dy2-step.s6 .dy2-step-arrow { background: #9E1B1B; }
.dy2-step-text {
  margin: 0;
  padding: 1vw .9vw 0 .2vw;
  font-size: clamp(10px, .95vw, 17px);
  line-height: 1.75;
  color: #585858;
}

/* ============================================================
 * 5. 常见问题（两列）+ 社媒
 * ============================================================ */
.dy2-faq-title {
  margin: 0 0 2.6vw;
  font-size: clamp(15px, 1.77vw, 34px);
  font-weight: 600;
  color: #474747;
}
.dy2-faq {
  display: flex;
  gap: 12%;
}
.dy2-faq-col { width: 44%; }
.dy2-faq-item { padding-bottom: 2vw; }
.dy2-q {
  margin: 0 0 .5vw;
  font-size: clamp(12px, 1.2vw, 24px);
  font-weight: 700;
  color: var(--dy2-ink);
}
.dy2-q i { font-style: normal; margin-right: .45vw; }
/* 20260921 需求：常见问题默认只显示标题，鼠标悬停（移动端点击）再展开答案 */
.dy2-q::after {
  content: '+';
  float: right;
  margin-left: .8vw;
  font-weight: 400;
  color: #c0a675;
  transition: color .25s ease;
}
.dy2-a {
  margin: 0;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  font-size: clamp(10px, 1.0vw, 20px);
  line-height: 1.85;
  color: var(--dy2-gray);
  transition: max-height .34s ease, opacity .26s ease, padding-top .3s ease;
}
/* 支持 hover 的设备（PC）：悬停展开 */
@media (hover: hover) and (min-width: 768px) {
  .dy2-faq-item:hover .dy2-a,
  .dy2-faq-item:focus-within .dy2-a { max-height: 42em; opacity: 1; padding-top: .4vw; }
  .dy2-faq-item:hover .dy2-q::after { content: '\2212'; }
}
/* 触屏/点击展开（点击后常驻显示） */
.dy2-faq-item.is-open .dy2-a { max-height: 42em; opacity: 1; padding-top: .4vw; }
.dy2-faq-item.is-open .dy2-q::after { content: '\2212'; }
.dy2-social {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.5vw;
  padding-top: 2.4vw;
}
.dy2-social-tip {
  margin: 0;
  font-size: clamp(12px, 1.25vw, 24px);
  color: #7f7f7f;
}
.dy2-social-list { display: flex; align-items: center; gap: .9vw; }
.dy2-social-item { display: block; }
.dy2-social-item img {
  display: block;
  width: clamp(26px, 2.6vw, 50px);
  height: auto;
  transition: transform .2s;
}
.dy2-social-item:hover img { transform: translateY(-3px); }

/* ============================================================
 * 6. 移动端首页（<768px 真移动设备）
 * ============================================================ */
.dy2-m-cards { display: block; }
.dy2-m-card { display: block; padding: 10px 0; }
.dy2-m-card-pic {
  position: relative;
  width: 100%;
  aspect-ratio: 388 / 220;
  background: #f1f1f1 center/cover no-repeat;
  overflow: hidden;
}
.dy2-m-card p {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: #7b8494;
}
.dy2-m-card .dy2-card-tag {
  height: 26px;
  line-height: 26px;
  padding: 0 10px;
  font-size: 13px;
}
/* 移动端：表格文档板块（用餐菜单） */
.dy2-m-doc { width: 100%; border-collapse: collapse; }
.dy2-m-doc th {
  width: 32%;
  padding: 10px 10px 10px 0;
  border-bottom: 1px solid #f0ece5;
  text-align: left;
  vertical-align: top;
  font-size: 13px;
  color: #2b2b2b;
}
.dy2-m-doc td {
  padding: 10px 0;
  border-bottom: 1px solid #f0ece5;
  vertical-align: top;
  font-size: 12px;
  line-height: 1.7;
  color: #8d949f;
}
.dy2-m-doc-link { display: block; margin-top: 4px; color: #a72933; font-size: 12px; }
/* 移动端：瀑布流板块（器具出租，单列卡片，与详情页移动端一致） */
.dy2-m-masonry { columns: 1; }
.dy2-m-masonry-item {
  display: block;
  margin: 0 0 10px;
  padding: 12px 14px 0;
  background: #fff;
  border: 1px solid #ece6dd;
  border-radius: 8px;
  text-decoration: none;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
}
.dy2-m-masonry-item h3 {
  margin: 0 0 8px;
  padding-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #2b2b2b;
  border-bottom: 1px solid #f0ece5;
}
.dy2-m-masonry-item p { margin: 0 0 10px; font-size: 12px; line-height: 1.8; color: #8d949f; }
/* 移动端：小节配图（卡片顶部整宽图） */
.dy2-m-masonry-img { display: block; margin: 0 0 8px; }
.dy2-m-masonry-img img { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 6px; }
.dy2-m-tags { padding-top: 12px; }
.dy2-m-tags a {
  display: inline-block;
  margin: 0 8px 8px 0;
  padding: 5px 10px;
  background: #f7f4f0;
  border-radius: 4px;
  font-size: 12px;
  color: #555;
}
.dy2-m-news { display: block; }
.dy2-m-news-pic { display: block; width: 100%; margin-bottom: 8px; }
.dy2-m-news-pic img { width: 100%; display: block; }
.dy2-m-news b { display: block; font-size: 15px; color: #2b2b2b; }
.dy2-m-news em {
  display: block;
  margin-top: 6px;
  font-style: normal;
  font-size: 13px;
  line-height: 1.7;
  color: #7b8494;
}
.dy2-m-news-list { padding-top: 10px; }
.dy2-m-news-list a {
  display: block;
  padding: 7px 0;
  border-bottom: 1px solid #f0ece5;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 13px;
  color: #555;
}
.dy2-m-news-all {
  display: inline-block;
  margin-top: 10px;
  font-size: 13px;
  color: #a72933;
}
.dy2-m-ind a { display: block; padding: 10px 0; border-bottom: 1px solid #f0ece5; }
.dy2-m-ind b { display: block; font-size: 15px; color: #2b2b2b; }
.dy2-m-ind span {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.7;
  color: #8d949f;
}
.dy2-m-flow .dy2-m-step { padding: 8px 0; }
.dy2-m-flow b { font-size: 14px; color: #2b2b2b; }
.dy2-m-flow p { margin: 4px 0 0; font-size: 12px; line-height: 1.7; color: #8d949f; }
.dy2-m-faq-item { padding: 8px 0; border-bottom: 1px solid #f0ece5; cursor: pointer; }
.dy2-m-faq-item b { display: block; font-size: 14px; color: #2b2b2b; }
.dy2-m-faq-item b::after { content: '+'; float: right; color: #c0a675; font-weight: 400; }
.dy2-m-faq-item.is-open b::after { content: '\2212'; }
.dy2-m-faq-item p {
  margin: 0;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  font-size: 12px;
  line-height: 1.7;
  color: #8d949f;
  transition: max-height .32s ease, opacity .24s ease, margin-top .3s ease;
}
.dy2-m-faq-item.is-open p { max-height: 60em; opacity: 1; margin-top: 6px; }
.dy2-m-social { padding-top: 14px; text-align: center; }
.dy2-m-social p { font-size: 12px; color: #8d949f; }
.dy2-m-social-list {
  display: flex;
  justify-content: center;
  gap: 12px;
  padding-top: 10px;
}
.dy2-m-social-list img { width: 30px; height: 30px; display: block; }

/* ============================================================
 * 7. 页脚字号（整站，20260920 用户要求放大）
 * ============================================================ */
.footer .footer-menu,
.footer .copyright,
.footer .footer-tel,
.footer .footer-tel .sll-tel {
  font-size: 13px !important;
  line-height: 2 !important;
}
.footer .copyright a,
.footer .footer-tel a { font-size: 13px !important; }

/* ============================================================
 * 20260927 SEO 结构改版补丁（P4/P5）：
 * hero 标语 p → h1、Tab 名 div → h2、宴会动态标题外包 h2、
 * 行业信息新增板块 H2 —— 对冲 bootstrap h1/h2 默认 margin 与字重，
 * 保持原视觉不变。
 * ============================================================ */
.dy2-hero-band h1 { margin: 0; color: #fff; line-height: 1.65; }
h1.dy2-hero-line1 { font-weight: 400; }
h2.dy2-tab { margin: 0; font-weight: 400; }
h2.dy2-tab.is-on { font-weight: 700; }
.dy2-h2box { margin: 0; font-size: 100%; }
.dy2-ind-title {
  margin: 0 0 3vw;
  font-size: clamp(15px, 1.77vw, 34px);
  font-weight: 600;
  color: #474747;
}
