/* ============================================================
   dHConcept Homepage Design Update 2026-03-31 (v3)
   Homepage styles scoped to #dh-homepage
   Global styles (info bar, nav) kept unscoped
   v3: mockup consistency – hero bg, h1 size, trust accent, section headers
   ============================================================ */

/* ── GLOBAL: Info Bar (all pages) ── */
.dh-information-bar { background: #FF8674 !important; position: relative; }
.dh-information-bar p { padding-right: 44px !important; }
.dh-infobar-close {
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  background: none; border: none; color: #fff; font-size: 22px;
  cursor: pointer; line-height: 1; padding: 2px 6px; opacity: .85;
}
.dh-infobar-close:hover { opacity: 1; }

/* ── GLOBAL: Nav new items (desktop, all pages) ── */
.dh-nav-new-item > a {
  font-size: 15px !important; font-weight: 500; color: #333 !important;
  padding: 0 14px !important; transition: color .2s !important; white-space: nowrap;
  background: transparent !important;
}
.dh-nav-new-item > a:hover,
.dh-nav-new-item > a:focus {
  color: #FF8674 !important;
  background: transparent !important;
}
/* 壓制 dh-navbar 全部 nav item 的 hover 底線，保留顏色變化 */
.dh-navbar .uk-navbar-left > ul > li > a::after,
.dh-navbar .uk-navbar-right > ul > li > a::after {
  content: none !important;
  display: none !important;
}
.dh-navbar .uk-navbar-left > ul > li > a:hover::after,
.dh-navbar .uk-navbar-right > ul > li > a:hover::after,
.dh-navbar .uk-navbar-left > ul > li > a.uk-open::after,
.dh-navbar .uk-navbar-right > ul > li > a.uk-open::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  opacity: 0 !important;
}
/* 恢復 hover 顏色變化效果 */
.dh-navbar .uk-navbar-left > ul > li > a:hover,
.dh-navbar .uk-navbar-right > ul > li > a:hover {
  color: #FF8674 !important;
  background: transparent !important;
}

/* ══════════════════════════════════════════════════════════
   HOMEPAGE ONLY — scoped to #dh-homepage
   ══════════════════════════════════════════════════════════ */

/* Hero Layout */
#dh-homepage #dh-homepage-brand-section {
  background: linear-gradient(155deg, #fff8f6 0%, #fff 60%, #fdf5f0 100%);
  overflow: visible !important;
  height: auto !important;
}
#dh-homepage .dh-hero-layout,
#dh-homepage .dh-hero-left,
#dh-homepage .dh-hero-tagline {
  overflow: visible !important;
  height: auto !important;
}
#dh-homepage .dh-hero-layout {
  display: flex; align-items: center; gap: 44px;
  max-width: 1200px; margin: 0 auto; padding: 64px 24px 56px;
}
#dh-homepage .dh-hero-left { flex: 1 1 auto; }
#dh-homepage .dh-hero-right { flex: 0 0 300px; display: flex; flex-direction: column; gap: 14px; }
/* ≤900px: narrower side-by-side, matches mockup tablet */
@media (max-width: 900px) {
  #dh-homepage .dh-hero-layout { gap: 24px; padding: 56px 20px 44px; align-items: center; }
  #dh-homepage .dh-hero-right { flex: 0 0 240px; }
}
/* ── Mobile: hero 補出通知欄+header 的遮擋空間 ── */
@media (max-width: 768px) {
  #dh-homepage #dh-homepage-brand-section { padding-top: 20px !important; }
}
/* ── Mobile ≤680px: stack, cards horizontal (matches mockup mobile) ── */
@media (max-width: 680px) {
  #dh-homepage .dh-hero-layout { flex-direction: column; padding: 44px 16px 36px !important; gap: 20px !important; }
  #dh-homepage .dh-hero-right {
    flex: 1 1 auto !important; flex-direction: row !important;
    width: 100% !important; gap: 10px !important;
  }
  #dh-homepage .dh-hero-card { flex: 1 1 0 !important; }
}

#dh-homepage .dh-hero-tagline h1 {
  font-size: clamp(30px, 5.8vw, 52px) !important; line-height: 1.2 !important;
  color: #1d1d1d !important; letter-spacing: 2px !important;
  font-weight: 700 !important; margin-top: 0 !important; margin-bottom: 20px !important;
}
@media (max-width: 640px) {
  #dh-homepage .dh-hero-tagline h1 {
    font-size: clamp(22px, 6.5vw, 30px) !important;
    letter-spacing: 1px !important; margin-bottom: 16px !important;
  }
}
#dh-homepage .dh-hero-ctas { display: flex; gap: 12px; margin-top: 28px; flex-wrap: wrap; }
@media (max-width: 640px) {
  #dh-homepage .dh-hero-ctas { margin-top: 20px !important; gap: 10px !important; }
  #dh-homepage .dh-hero-btn-primary,
  #dh-homepage .dh-hero-btn-ghost {
    flex: 1 1 auto !important; justify-content: center !important;
    text-align: center !important; padding: 12px 16px !important; font-size: 14px !important;
  }
}
#dh-homepage .dh-hero-btn-primary {
  display: inline-flex; align-items: center; background: #FF8674; color: #fff !important;
  font-size: 15px; font-weight: 700; padding: 13px 32px; border-radius: 50px;
  text-decoration: none !important; transition: all .25s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 4px 18px rgba(255,134,116,.35);
}
#dh-homepage .dh-hero-btn-primary:hover { background: #e5705f; transform: translateY(-2px); box-shadow: 0 8px 26px rgba(255,134,116,.45); }
#dh-homepage .dh-hero-btn-ghost {
  display: inline-flex; align-items: center; background: transparent;
  color: #1d1d1d !important; font-size: 15px; font-weight: 500;
  padding: 13px 24px; border-radius: 50px; border: 1.5px solid rgba(0,0,0,.14);
  text-decoration: none !important; transition: all .25s;
}
#dh-homepage .dh-hero-btn-ghost:hover { background: transparent !important; border-color: #FF8674 !important; color: #FF8674 !important; transform: translateY(-2px); }

#dh-homepage .dh-hero-card {
  position: relative; border-radius: 14px; overflow: hidden;
  flex: 1; display: block; text-decoration: none !important; background: #eee;
}
#dh-homepage .dh-hero-card img { width: 100%; height: 154px; object-fit: cover; display: block; transition: transform .5s ease; }
@media (max-width: 900px) { #dh-homepage .dh-hero-card img { height: 128px; } }
@media (max-width: 680px)  { #dh-homepage .dh-hero-card img { height: 115px !important; } }
#dh-homepage .dh-hero-card:hover img { transform: scale(1.05); }
/* Eyebrow line */
#dh-homepage .dh-hero-eyebrow {
  color: #FF8674 !important; font-size: 11px !important; font-weight: 600 !important;
  letter-spacing: 4px !important; text-transform: uppercase; margin-bottom: 6px !important;
  margin-top: 0 !important;
}
/* h1 sub-lines (block, smaller, lighter) — each span renders on its own line */
#dh-homepage .dh-hero-tagline h1 .dh-hero-sub {
  font-size: clamp(18px, 3.3vw, 30px) !important;
  font-weight: 400 !important; color: #5a5a5a !important;
  display: block !important; margin-top: 8px !important; letter-spacing: 1px !important;
}
/* Description paragraphs */
#dh-homepage .dh-hero-desc {
  font-size: 15px !important; color: #666 !important;
  line-height: 1.7 !important; margin: 0 0 6px !important;
}
#dh-homepage .dh-hero-card-label {
  position: absolute; bottom: 0; left: 0; right: 0; padding: 10px 14px;
  background: linear-gradient(transparent, rgba(0,0,0,.58));
  color: #fff; font-size: 14px; font-weight: 600; line-height: 1.4;
}
/* Card sub-text */
#dh-homepage .dh-hero-card-sub {
  display: block; font-size: 12px !important; font-weight: 400 !important;
  opacity: .85; margin-top: 2px;
}

/* Trust Bar */
#dh-homepage .dh-trust-bar {
  background: #1d1d1d; color: #fff; padding: 26px 0;
  display: flex; justify-content: center; gap: 40px; flex-wrap: wrap;
}
#dh-homepage .dh-trust-item { text-align: center; font-size: 11px !important; color: rgba(255,255,255,.5) !important; line-height: 1.4; letter-spacing: .3px; }
#dh-homepage .dh-trust-num { font-size: 24px !important; font-weight: 700 !important; color: #FF8674 !important; display: block; margin-bottom: 3px; letter-spacing: .5px; }
@media (max-width: 680px) {
  /* 5 items at ≤680px: allow 2-row wrap */
  #dh-homepage .dh-trust-bar { gap: 24px 32px !important; padding: 22px 16px !important; }
}
@media (max-width: 480px) {
  #dh-homepage .dh-trust-bar { gap: 16px 24px !important; padding: 18px 12px !important; }
  #dh-homepage .dh-trust-num { font-size: 20px !important; }
  #dh-homepage .dh-trust-item { font-size: 10px !important; }
}

/* Banner Horizontal Scroll */
#dh-homepage #dh-banner-grid {
  flex-wrap: nowrap !important; overflow-x: auto !important;
  scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab;
}
#dh-homepage #dh-banner-grid::-webkit-scrollbar { display: none; }
#dh-homepage #dh-banner-grid:active { cursor: grabbing; }
#dh-homepage #dh-banner-grid .dh-banner-item {
  flex: 0 0 clamp(260px, 38vw, 520px) !important;
  scroll-snap-align: start; border-radius: 12px; overflow: hidden;
}
@media (max-width: 640px) {
  #dh-homepage #dh-banner-grid .dh-banner-item { flex: 0 0 72vw !important; }
}

/* Tab cards (改造方式) Scroll */
#dh-homepage #dhshop_category .dhindextabcontent > .carousel-section {
  display: flex !important; overflow-x: auto !important;
  scroll-snap-type: x mandatory; flex-wrap: nowrap !important;
  gap: 16px !important; scrollbar-width: none; padding: 0 4px 8px !important;
}
#dh-homepage #dhshop_category .dhindextabcontent > .carousel-section::-webkit-scrollbar { display: none; }
#dh-homepage #dhshop_category .dhindextabcontent > .carousel-section > .style-list {
  flex: 0 0 calc(33.333% - 11px) !important; width: auto !important;
  scroll-snap-align: start; min-width: 260px; padding: 0 !important;
}
@media (max-width: 768px) {
  #dh-homepage #dhshop_category .dhindextabcontent > .carousel-section > .style-list {
    flex: 0 0 calc(80% - 8px) !important;
  }
}

/* Explore More Scroll */
#dh-homepage #dh-section-explore .carousel-section-case {
  display: flex !important; overflow-x: auto !important;
  scroll-snap-type: x mandatory; flex-wrap: nowrap !important;
  gap: 18px !important; scrollbar-width: none; padding: 0 4px 8px !important; cursor: grab;
}
#dh-homepage #dh-section-explore .carousel-section-case::-webkit-scrollbar { display: none; }
#dh-homepage #dh-section-explore .carousel-section-case:active { cursor: grabbing; }
#dh-homepage #dh-section-explore .carousel-section-case > .style-list {
  flex: 0 0 calc(30% - 12px) !important; width: auto !important;
  scroll-snap-align: start; min-width: 260px;
}
@media (max-width: 1024px) and (min-width: 769px) {
  #dh-homepage #dh-section-explore .carousel-section-case > .style-list { flex: 0 0 calc(44% - 12px) !important; }
}
@media (max-width: 768px) {
  #dh-homepage #dh-section-explore .carousel-section-case > .style-list { flex: 0 0 calc(80% - 8px) !important; }
}

/* Media Spotlight Scroll */
#dh-homepage #dh-section-media .carousel-section-case {
  display: flex !important; overflow-x: auto !important;
  scroll-snap-type: x mandatory; flex-wrap: nowrap !important;
  gap: 16px !important; scrollbar-width: none; padding: 0 4px 8px !important; cursor: grab;
}
#dh-homepage #dh-section-media .carousel-section-case::-webkit-scrollbar { display: none; }
#dh-homepage #dh-section-media .carousel-section-case:active { cursor: grabbing; }
#dh-homepage #dh-section-media .carousel-section-case > .style-list {
  flex: 0 0 260px !important; width: auto !important; scroll-snap-align: start;
}
@media (max-width: 640px) {
  #dh-homepage #dh-section-media .carousel-section-case > .style-list { flex: 0 0 68vw !important; }
}

/* ── 篩選欄隱藏（含 UIkit sticky clone） ── */
.dh-filter-concept-bar,
#dh-homepage .dh-concept > .uk-margin-medium { display: none !important; }

/* ── ConceptList Pinterest 風格卡片 ── */
/* 實際 HTML：li.uk-inline-clip > a > div.dh-graphic > img + div(title) */

/* 1. 圖片：長型比例 */
#dh-homepage #conceptList .dh-graphic img {
  width: 100% !important;
  height: auto !important;
  min-height: 200px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 12px 12px 0 0 !important;
}

/* 2. 卡片外框：圓角、陰影（掛在 .dh-graphic 上） */
#dh-homepage #conceptList .dh-graphic {
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 1px 8px rgba(0,0,0,0.08) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  height: auto !important;
}
#dh-homepage #conceptList li:hover .dh-graphic {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
}

/* 3. 標題文字：黑色覆蓋橘色 */
/* 橘色來源：a { color: #FF8674 } 繼承到 dh-graphic div */
#dh-homepage #conceptList a,
#dh-homepage #conceptList a div,
#dh-homepage #conceptList .dh-graphic div {
  color: #1d1d1d !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  padding: 8px 10px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  background: #fff !important;
}

/* 4. 手機版更緊湊 */
@media (max-width: 768px) {
  #dh-homepage #conceptList .dh-graphic img { min-height: 160px !important; }
}

/* ── Section headers: accent left-bar (matches mockup .mk-hdr style) ── */
/* Targets h2 with margin-top:40px inline style (= section-level titles) */
#dh-homepage h2[style*="margin-top:40px"],
#dh-homepage #dh-waterfall-title {
  margin-left: 0 !important;
  padding-left: 16px !important;
  border-left: 4px solid #FF8674 !important;
  font-size: clamp(20px, 2.8vw, 28px) !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  line-height: 1.3 !important;
  color: #1d1d1d !important;
  margin-top: 56px !important;
  margin-bottom: 24px !important;
}
/* ── Mobile: 縮減 section h2 margin-top ── */
@media (max-width: 768px) {
  #dh-homepage h2[style*="margin-top:40px"],
  #dh-homepage #dh-waterfall-title {
    margin-top: 36px !important;
    margin-bottom: 16px !important;
  }
  /* tab buttons 在小螢幕並排 */
  #dh-homepage .dhindextablinks {
    padding: 9px 14px !important;
    font-size: 14px !important;
  }
  /* explore/media CTA 避免 float 影響 */
  #dh-homepage .dhshoptab {
    float: none !important;
    display: inline-block !important;
  }
}

/* Section 4: Tab section sub-header "大面積改造最有感" style override */
#dh-homepage #dhshop_category .dhindextabcontent > h2 {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #666 !important;
  margin-left: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
  border-left: none !important;
  padding-left: 4px !important;
}
/* Section 4: Tab buttons */
#dh-homepage .dhindextablinks {
  font-size: 15px !important;
  border-radius: 50px !important;
  padding: 11px 18px !important;
}
/* Section 4: Card h2 inside style-list (e.g. "歐巴地板® 地面打造超方便") */
#dh-homepage #dhshop_category .style-list h2 {
  font-size: 17px !important;
  font-weight: 700 !important;
  margin-left: 0 !important;
  margin-top: 12px !important;
  line-height: 1.4 !important;
  color: #1d1d1d !important;
}
/* Section 5: Icon titles and sub-titles */
#dh-homepage .dh-dhshop-icon-title {
  font-size: 13px !important;
  font-weight: 600 !important;
}
#dh-homepage .dh-dhshop-icon-sub-title {
  font-size: 11px !important;
  color: #999 !important;
}
/* Section 6: Explore card content */
#dh-homepage #dh-section-explore .card-text-title {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #1d1d1d !important;
  margin-bottom: 7px !important;
}
#dh-homepage #dh-section-explore .card-text-des {
  font-size: 13px !important;
  color: #666 !important;
  line-height: 1.6 !important;
}
#dh-homepage #dh-section-explore .dhshoptab {
  padding: 8px 17px !important;
  font-size: 13px !important;
  border-radius: 50px !important;
  float: none !important;
  display: inline-block !important;
  margin: 10px 0 0 !important;
}
/* Section 7: Media card content */
#dh-homepage #dh-section-media .card-text-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1d1d1d !important;
  margin-bottom: 4px !important;
}
#dh-homepage #dh-section-media .card-text-des {
  font-size: 12px !important;
  color: #666 !important;
  line-height: 1.5 !important;
}
#dh-homepage #dh-section-media .dhshoptab {
  padding: 7px 13px !important;
  font-size: 12px !important;
  border-radius: 50px !important;
  float: none !important;
  display: inline-block !important;
  margin: 10px 0 0 !important;
}

/* ── Icons section scroll (#dh-section-single) ── */
#dh-homepage #dh-section-single .carousel-section-icon {
  display: flex !important; overflow-x: auto !important;
  scroll-snap-type: x mandatory; flex-wrap: nowrap !important;
  scrollbar-width: none; padding: 10px 0 16px !important;
  gap: 0 !important;
}
#dh-homepage #dh-section-single .carousel-section-icon::-webkit-scrollbar { display: none; }
#dh-homepage #dh-section-single .carousel-section-icon .item.style-list {
  flex: 0 0 auto !important; width: auto !important; scroll-snap-align: start;
}

/* ── Fix font-size:18px inflation in section wrappers ── */
#dh-homepage #dh-section-single,
#dh-homepage #dh-section-explore .mainboard,
#dh-homepage #dh-section-media {
  font-size: 15px !important;
}

/* ── Banner section: breathing room ── */
#dh-homepage .dh-padding-h-15:has(#dh-banner-grid) {
  margin-top: 48px !important;
  margin-bottom: 48px !important;
}

/* ══════════════════════════════════════════════════════════
   ITEM/7 歐巴地板銷售頁 FIXES
   ══════════════════════════════════════════════════════════ */

/* 修正 1: 計算機浮動按鈕全站隱藏 */
#oppa-calc-btn,
.calc-modal-overlay,
.right_nav > .questionanswer.unbox_btn {
  display: none !important;
}

/* 問題 1: 移除右側購買 sidebar 的 sticky 行為 */
.dh-item-group-info-sticky,
.dh-item-group-info-sticky.uk-sticky-fixed,
.dh-item-group-info-sticky.uk-active {
  position: static !important;
  top: auto !important;
  width: auto !important;
  transform: none !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

/* 問題 3 / 修正 2&3: 特色 icon 區 — 桌機 2×3 grid，手機左右滑動 */
#dhshopItem .col-lg-12.mt-4:has(> .col-xs-4) {
  display: flex !important;
  flex-wrap: wrap !important;          /* 桌機：自動換行 → 2 排 × 3 欄 */
  overflow-x: visible !important;
  gap: 12px !important;
  padding: 8px 4px 12px !important;
}
#dhshopItem .col-xs-4 {
  flex: 0 0 calc(33.333% - 8px) !important;
  width: auto !important;
  max-width: none !important;
  float: none !important;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  /* 手機版改回橫向滑動 */
  #dhshopItem .col-lg-12.mt-4:has(> .col-xs-4) {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  #dhshopItem .col-lg-12.mt-4:has(> .col-xs-4)::-webkit-scrollbar { display: none; }
  #dhshopItem .col-xs-4 {
    flex: 0 0 calc(80% - 8px) !important;
    scroll-snap-align: start;
  }
}

/* 問題 2 / 修正 4a: 改造案例輪播 (.case-carousel) — figcaption 完整顯示在圖片下方 */

/* 解除所有父容器的 overflow 限制，確保 caption 不被截斷 */
.obafloor-case-scope,
.obafloor-case-scope > div,
.carousel-section.carousel-section-case,
.carousel-section.carousel-section-case > .style-list {
  overflow: visible !important;
  height: auto !important;
}

.case-carousel {
  overflow: visible !important;
  padding: 8px 0 24px;
}

/* overflow-x:auto 會強制 overflow-y:auto；用 padding-bottom 為 caption 留空間 */
.case-carousel__track {
  display: flex !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory;
  gap: 18px;
  scrollbar-width: none;
  cursor: grab;
  padding-bottom: 56px; /* caption 高度空間，避免被 overflow-y:auto 截斷 */
  margin-bottom: -40px; /* 收回多餘的底部空間 */
  align-items: flex-start;
}
.case-carousel__track:active { cursor: grabbing; }
.case-carousel__track::-webkit-scrollbar { display: none; }

.case-carousel__item {
  flex: 0 0 clamp(280px, 38vw, 500px);
  scroll-snap-align: start;
  margin: 0;
  overflow: visible !important;
}

/* 圖片 */
.case-carousel__item img {
  width: 100% !important;
  height: 300px;
  object-fit: cover;
  border-radius: 14px 14px 0 0;
  display: block;
}

/* figcaption：圖片下方完整顯示 */
.case-carousel__caption {
  display: block !important;
  font-size: 15px;
  font-weight: 600;
  color: #1d1d1d;
  padding: 10px 8px 6px;
  text-align: center;
  line-height: 1.4;
  background: #fff;
  border-radius: 0 0 14px 14px;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  overflow: visible !important;
  position: relative;
}

@media (max-width: 768px) {
  .case-carousel__item { flex: 0 0 78vw; }
  .case-carousel__item img { height: 240px; }
}

/* 修正 4b: 案例分類區 (.case-section, .case-acc, .case-scroll) */
.case-section { padding: 40px 20px 48px; max-width: 1600px; margin: 0 auto; }
.case-title {
  font-size: clamp(20px, 2.4vw, 26px); font-weight: 700; color: #1d1d1d;
  margin-bottom: 6px; padding-left: 16px; border-left: 4px solid #FF8674;
}
.case-subtitle { font-size: 14px; color: #888; margin-bottom: 20px; padding-left: 20px; }
/* Tab 系統 (CSS radio hack) */
.case-radio { display: none !important; }
.case-tab {
  display: inline-block; padding: 7px 18px; border-radius: 50px;
  font-size: 14px; font-weight: 600; cursor: pointer;
  background: #eaeaea; color: #555; margin: 0 4px 12px;
  transition: background .2s, color .2s; user-select: none;
}
.case-tab:hover { background: #ddd; }
/* 全部 panel 預設隱藏 */
.case-panel { display: none; }
/* 選中的 radio 對應顯示 panel */
#cat-kids:checked   ~ .case-panels .case-panel--kids   { display: block; }
#cat-pets:checked   ~ .case-panels .case-panel--pets   { display: block; }
#cat-rent:checked   ~ .case-panels .case-panel--rent   { display: block; }
#cat-diy:checked    ~ .case-panels .case-panel--diy    { display: block; }
#cat-family:checked ~ .case-panels .case-panel--family { display: block; }
/* 選中的 tab 樣式 */
#cat-kids:checked   ~ label[for="cat-kids"],
#cat-pets:checked   ~ label[for="cat-pets"],
#cat-rent:checked   ~ label[for="cat-rent"],
#cat-diy:checked    ~ label[for="cat-diy"],
#cat-family:checked ~ label[for="cat-family"] {
  background: #FF8674 !important; color: #fff !important;
}
/* 橫向滑動圖片 */
.case-scroll {
  display: flex !important; overflow-x: auto !important;
  scroll-snap-type: x mandatory; gap: 12px;
  scrollbar-width: none; cursor: grab; padding: 8px 0 12px;
}
.case-scroll:active { cursor: grabbing; }
.case-scroll::-webkit-scrollbar { display: none; }
.case-scroll img {
  flex: 0 0 300px !important; width: 300px !important;
  height: 220px !important; object-fit: cover !important;
  border-radius: 12px !important; display: block !important;
  max-width: none !important; scroll-snap-align: start;
}
@media (max-width: 768px) {
  .case-scroll img { flex: 0 0 72vw !important; width: 72vw !important; height: 180px !important; }
}

/* 修正 5: 全站字型統一 */
body, h1, h2, h3, h4, h5, h6, p, a, span, div, li, td, th,
input, button, textarea, select {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans TC", "Microsoft JhengHei", sans-serif !important;
}
/* 銷售頁字級 */
#dhshopItem h2 { font-size: var(--fs-section, 24px) !important; }
#dhshopItem p  { font-size: var(--fs-body, 15px) !important; line-height: 1.6 !important; }
