/**
 * PlantShop.hk — Google Ads category landing pages (ZH + EN)
 * Scoped: body.ps-ads-landing
 * Fix: WordPress sizes="auto" intrinsic-size blowout + product grid containment
 */

/* ============================================================
   IMAGE FIX — root cause of 爆圖
   WP core sets contain-intrinsic-size: 3000px 1500px on sizes="auto"
   ============================================================ */
body.ps-ads-landing img:is([sizes="auto"], [sizes^="auto,"]) {
  contain-intrinsic-size: 600px 600px !important;
}

body.ps-ads-landing .product-element-top {
  position: relative !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #f7f5f1 !important;
  border-radius: 2px 2px 0 0 !important;
}

body.ps-ads-landing .product-element-top .product-image-link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

body.ps-ads-landing .product-element-top .product-image-link img,
body.ps-ads-landing .product-element-top .hover-img img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

body.ps-ads-landing .product-element-top .hover-img {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

body.ps-ads-landing .content-product-imagin {
  display: none !important;
}

/* Card uses overflow:hidden (border-radius + image containment) and
   imagin overlay is disabled above — Woodmart fade hover (excerpt /
   加入購物車) cannot expand, so only character tops peeked at the
   bottom on mouseover. Hide the whole fade block on landing grids. */
body.ps-ads-landing .wd-hover-with-fade .fade-in-block {
  display: none !important;
}

/* ============================================================
   QUIET LUXURY — shared editorial shell
   ============================================================ */
body.ps-ads-landing .wd-content-area.site-content {
  background: #fdfbf7 !important;
}

body.ps-ads-landing article.entry-content {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding-bottom: 48px !important;
}

body.ps-ads-landing article.entry-content > h2,
body.ps-ads-landing article.entry-content > h3,
body.ps-ads-landing article.entry-content > h4,
body.ps-ads-landing article.entry-content > p,
body.ps-ads-landing article.entry-content > ul,
body.ps-ads-landing article.entry-content > ol {
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Hero */
body.ps-ads-landing article.entry-content > h1::before {
  display: block !important;
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Noto Sans TC", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3em !important;
  color: #a89478 !important;
  margin-bottom: 18px !important;
}

body.ps-ads-landing.ps-landing-balcony article.entry-content > h1::before { content: "戶外 · 露台系列" !important; }
body.ps-ads-landing.ps-landing-zen article.entry-content > h1::before { content: "日式 · 禪意系列" !important; }
body.ps-ads-landing.ps-landing-office article.entry-content > h1::before { content: "辦公室 · 商用綠化" !important; }
body.ps-ads-landing.ps-landing-easy-care article.entry-content > h1::before { content: "室內 · 易打理" !important; }
body.ps-ads-landing.ps-landing-large article.entry-content > h1::before { content: "室內 · 大型落地" !important; }
body.is-english-page.ps-ads-landing.ps-landing-large article.entry-content > h1::before { content: "Indoor — Statement Floor Plants" !important; }
body.ps-ads-landing.ps-landing-air article.entry-content > h1::before { content: "室內 · 淨化空氣" !important; }
body.ps-ads-landing.ps-landing-gift article.entry-content > h1::before { content: "送禮 · 體面之選" !important; }
body.ps-ads-landing.ps-landing-feng-shui article.entry-content > h1::before { content: "風水 · 招財聚氣" !important; }
body.ps-ads-landing.ps-landing-pet article.entry-content > h1::before { content: "寵物 · 安心之選" !important; }

body.is-english-page.ps-ads-landing.ps-landing-balcony article.entry-content > h1::before { content: "Outdoor — Balcony & Garden" !important; }
body.is-english-page.ps-ads-landing.ps-landing-zen article.entry-content > h1::before { content: "Japanese — Zen & Sculptural" !important; }
body.is-english-page.ps-ads-landing.ps-landing-office article.entry-content > h1::before { content: "Office — Workspace & Studio" !important; }
body.is-english-page.ps-ads-landing.ps-landing-easy-care article.entry-content > h1::before { content: "Indoor — Easy Care" !important; }
body.is-english-page.ps-ads-landing.ps-landing-air article.entry-content > h1::before { content: "Indoor — Air Purifying" !important; }
body.is-english-page.ps-ads-landing.ps-landing-gift article.entry-content > h1::before { content: "Gifting — Openings & Occasions" !important; }
body.is-english-page.ps-ads-landing.ps-landing-feng-shui article.entry-content > h1::before { content: "Feng Shui — Prosperity & Energy" !important; }
body.is-english-page.ps-ads-landing.ps-landing-pet article.entry-content > h1::before { content: "Living — Pet-Safe Plants" !important; }

body.ps-ads-landing article.entry-content > h1 {
  text-align: center !important;
  font-family: "Playfair Display", "Noto Serif TC", "Noto Sans TC", serif !important;
  font-size: clamp(30px, 3.2vw, 44px) !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.28 !important;
  color: #2d2926 !important;
  max-width: 900px !important;
  margin: 52px auto 20px !important;
}

body.is-english-page.ps-ads-landing article.entry-content > h1 {
  font-family: "Cormorant Garamond", "Playfair Display", "Source Serif 4", serif !important;
  font-size: clamp(32px, 3.5vw, 50px) !important;
  font-weight: 400 !important;
  letter-spacing: 0.015em !important;
}

body.ps-ads-landing article.entry-content > h1 + p {
  text-align: center !important;
  max-width: 720px !important;
  margin: 0 auto 14px !important;
  font-size: 17px !important;
  line-height: 1.95 !important;
  letter-spacing: 0.02em !important;
  color: #6b655e !important;
}

body.is-english-page.ps-ads-landing article.entry-content > h1 + p {
  font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 2 !important;
  letter-spacing: 0.015em !important;
  color: #5a5149 !important;
}

body.ps-ads-landing article.entry-content > h1 + p::after {
  content: "" !important;
  display: block !important;
  width: 48px !important;
  height: 2px !important;
  background: #c9a96e !important;
  opacity: 0.7 !important;
  margin: 28px auto 0 !important;
}

/* Catalog controls */
body.ps-ads-landing .wd-shop-tools,
body.ps-ads-landing .woocommerce-ordering,
body.ps-ads-landing .wd-products-per-page,
body.ps-ads-landing .wd-filters-opener,
body.ps-ads-landing .wd-page-meta {
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #6b665f !important;
}

body.ps-ads-landing .wd-products-per-page a,
body.ps-ads-landing .woocommerce-ordering .orderby,
body.ps-ads-landing .wd-filters-opener span { color: #6b665f !important; }

body.ps-ads-landing .wd-products-per-page a.active,
body.ps-ads-landing .wd-products-per-page a:hover { color: #2d2926 !important; }

/* Section headings */
body.ps-ads-landing article.entry-content > h2 {
  font-family: "Playfair Display", "Noto Serif TC", "Noto Sans TC", serif !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.4 !important;
  color: #2d2926 !important;
  margin: 72px auto 22px !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

body.ps-ads-landing article.entry-content > h2::after {
  content: "" !important;
  display: block !important;
  width: 42px !important;
  height: 2px !important;
  background: #c9a96e !important;
  opacity: 0.75 !important;
  margin-top: 16px !important;
}

body.ps-ads-landing article.entry-content > h3 {
  font-family: "Playfair Display", "Noto Serif TC", "Noto Sans TC", serif !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  color: #2d2926 !important;
  margin: 0 auto !important;
  padding: 28px 0 8px !important;
  border-top: 1px solid #ece8e1 !important;
  line-height: 1.5 !important;
}

body.ps-ads-landing article.entry-content > h2 + h3 {
  border-top: none !important;
  padding-top: 10px !important;
}

body.ps-ads-landing article.entry-content > h3 + p {
  color: #6b655e !important;
  margin-top: 0 !important;
  padding-bottom: 6px !important;
}

body.ps-ads-landing article.entry-content > p {
  font-size: 16px !important;
  line-height: 1.95 !important;
  letter-spacing: 0.015em !important;
  color: #4a443d !important;
}

body.ps-ads-landing article.entry-content > ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 10px auto 18px !important;
}

body.ps-ads-landing article.entry-content > ul > li {
  position: relative !important;
  padding-left: 22px !important;
  margin-bottom: 12px !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  letter-spacing: 0.015em !important;
  color: #4a443d !important;
}

body.ps-ads-landing article.entry-content > ul > li::before {
  content: "" !important;
  position: absolute !important;
  left: 2px !important;
  top: 13px !important;
  width: 6px !important;
  height: 6px !important;
  background: #c9a96e !important;
  border-radius: 50% !important;
}

body.ps-ads-landing article.entry-content > ul > li a {
  color: #2d2926 !important;
  text-decoration: none !important;
  border-bottom: 1px solid #d8cdb3 !important;
  padding-bottom: 1px !important;
  transition: border-color 0.3s ease, color 0.3s ease !important;
}

body.ps-ads-landing article.entry-content > ul > li a:hover {
  color: #9c7b3f !important;
  border-bottom-color: #9c7b3f !important;
}

/* Product grid shell */
body.ps-ads-landing .woocommerce.columns-4 {
  margin: 6px auto 20px !important;
  max-width: 1200px !important;
}

body.ps-ads-landing .woocommerce.columns-4::after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}

body.ps-ads-landing .woocommerce.columns-4 > .wd-products-per-page {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  float: left !important;
  margin: 0 !important;
}

body.ps-ads-landing .woocommerce.columns-4 > .wd-filter-buttons {
  display: inline-flex !important;
  align-items: center !important;
  float: left !important;
  margin: 0 0 0 28px !important;
}

body.ps-ads-landing .woocommerce.columns-4 > .woocommerce-ordering {
  float: right !important;
  width: auto !important;
  max-width: 240px !important;
  margin: 0 !important;
}

body.ps-ads-landing .woocommerce.columns-4 > .woocommerce-ordering .orderby,
body.ps-ads-landing .woocommerce.columns-4 > .woocommerce-ordering .wd-ordering-select {
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
}

body.ps-ads-landing .woocommerce.columns-4 > .wd-products-element {
  clear: both !important;
  padding-top: 20px !important;
  border-top: 1px solid #ece8e1 !important;
  margin-top: 14px !important;
}

body.ps-ads-landing .wd-products.wd-products-with-bg .product-wrapper {
  background: #ffffff !important;
  border: 1px solid #ece8e1 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 28px rgba(45, 41, 38, 0.04) !important;
  transition: box-shadow 0.35s ease, transform 0.35s ease !important;
}

body.ps-ads-landing .wd-product {
  transition: transform 0.35s ease !important;
}

body.ps-ads-landing .wd-product:hover {
  transform: translateY(-4px) !important;
}

body.ps-ads-landing .wd-product:hover .product-wrapper {
  box-shadow: 0 14px 36px rgba(45, 41, 38, 0.08) !important;
}

body.ps-ads-landing .wd-product:hover .product-image-link img {
  transform: scale(1.05) !important;
  transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
}

body.ps-ads-landing .wd-product .wd-entities-title {
  font-family: "Playfair Display", "Noto Serif TC", "Noto Sans TC", serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
}

body.ps-ads-landing .wd-product .price,
body.ps-ads-landing .wd-product .price .amount {
  color: #2d2926 !important;
  font-weight: 500 !important;
}

body.ps-ads-landing .wd-product .product-element-bottom {
  padding: 16px 18px 18px !important;
}

/* Conversion layer (JS injected) */
body.ps-ads-landing .ps-hero-cta {
  display: flex !important;
  gap: 14px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  margin: 24px auto 4px !important;
}

body.ps-ads-landing .ps-hero-btn {
  display: inline-block !important;
  background: #2d2926 !important;
  color: #fff !important;
  padding: 15px 38px !important;
  border: 1px solid #2d2926 !important;
  border-radius: 2px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Noto Sans TC", sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.16em !important;
  text-decoration: none !important;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
  cursor: pointer !important;
}

body.ps-ads-landing .ps-hero-btn:hover { background: #3d3936 !important; }

html body.ps-ads-landing a.ps-hero-btn { color: #ffffff !important; }

html body.ps-ads-landing a.ps-hero-btn-ghost,
html body.ps-ads-landing a.ps-hero-btn-ghost:hover { color: #2d2926 !important; }

html body.ps-ads-landing .ps-closing-cta a.ps-hero-btn { color: #ffffff !important; }

body.ps-ads-landing .ps-hero-btn-ghost {
  background: transparent !important;
  color: #2d2926 !important;
  border-color: #cfc7ba !important;
}

body.ps-ads-landing .ps-hero-btn-ghost:hover {
  border-color: #2d2926 !important;
  background: #faf8f4 !important;
}

body.ps-ads-landing .ps-trust-strip {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  margin: 26px auto 6px !important;
  max-width: 940px !important;
}

body.ps-ads-landing .ps-trust-strip span {
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Noto Sans TC", sans-serif !important;
  font-size: 11.5px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #6b665f !important;
  padding: 2px 20px !important;
  border-right: 1px solid #e0dcd3 !important;
  line-height: 1.7 !important;
}

body.ps-ads-landing .ps-trust-strip span:last-child { border-right: none !important; }

body.ps-ads-landing .ps-closing-cta {
  text-align: center !important;
  max-width: 820px !important;
  margin: 72px auto 24px !important;
  padding: 48px 32px !important;
  background: #faf8f4 !important;
  border: 1px solid #ece8e1 !important;
  border-radius: 4px !important;
}

body.ps-ads-landing .ps-closing-cta h3 {
  border: none !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  font-family: "Playfair Display", "Noto Serif TC", "Noto Sans TC", serif !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  color: #2d2926 !important;
  letter-spacing: 0.02em !important;
}

body.ps-ads-landing .ps-closing-cta p {
  color: #6b655e !important;
  margin: 0 auto 24px !important;
  font-size: 15px !important;
  max-width: 560px !important;
  line-height: 1.9 !important;
}

/* Mobile */
@media (max-width: 768px) {
  body.ps-ads-landing img:is([sizes="auto"], [sizes^="auto,"]) {
    contain-intrinsic-size: 45vw 45vw !important;
  }

  body.ps-ads-landing article.entry-content > h1 {
    font-size: 28px !important;
    margin: 28px auto 14px !important;
    padding: 0 12px !important;
  }

  body.ps-ads-landing article.entry-content > h1::before {
    letter-spacing: 0.22em !important;
    font-size: 11px !important;
  }

  body.ps-ads-landing article.entry-content > h1 + p {
    font-size: 15px !important;
    padding: 0 14px !important;
  }

  body.ps-ads-landing article.entry-content > h2 {
    font-size: 22px !important;
    margin: 44px auto 16px !important;
    padding: 0 12px !important;
  }

  body.ps-ads-landing .woocommerce.columns-4 > .wd-products-per-page,
  body.ps-ads-landing .woocommerce.columns-4 > .wd-filter-buttons,
  body.ps-ads-landing .woocommerce.columns-4 > .woocommerce-ordering,
  body.ps-ads-landing .woocommerce.columns-4 > .wd-products-shop-view {
    float: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    gap: 8px !important;
  }

  body.ps-ads-landing .woocommerce.columns-4 > .wd-products-shop-view {
    display: none !important;
  }

  body.ps-ads-landing .ps-trust-strip span {
    border-right: none !important;
    padding: 2px 10px !important;
    font-size: 10px !important;
    letter-spacing: 0.12em !important;
  }

  body.ps-ads-landing .ps-hero-btn {
    width: 100% !important;
    max-width: 320px !important;
    text-align: center !important;
    padding: 14px 24px !important;
  }

  body.ps-ads-landing .ps-closing-cta {
    padding: 36px 20px !important;
    margin: 48px 12px 18px !important;
  }

  body.ps-ads-landing .wd-product .product-element-bottom {
    padding: 14px 14px 16px !important;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  body.ps-ads-landing .woocommerce.columns-4 > .woocommerce-ordering {
    float: none !important;
    clear: both !important;
    margin-top: 8px !important;
    max-width: none !important;
  }
}
/* ============================================================
   CONVERSION BOOST v2 — hierarchy + purchase impulse
   ============================================================ */

/* Hero band — lifts CTA off the page */
body.ps-ads-landing .ps-hero-band {
  max-width: 920px !important;
  margin: 8px auto 32px !important;
  padding: 28px 32px 24px !important;
  background: linear-gradient(180deg, #ffffff 0%, #faf8f4 100%) !important;
  border: 1px solid #ece8e1 !important;
  border-radius: 6px !important;
  box-shadow: 0 12px 40px rgba(45, 41, 38, 0.06) !important;
  text-align: center !important;
}

body.ps-ads-landing .ps-urgency {
  margin: 0 0 18px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Noto Sans TC", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #9c7b3f !important;
}

body.ps-ads-landing .ps-hero-cta {
  margin: 0 auto 16px !important;
}

body.ps-ads-landing .ps-hero-btn-primary {
  background: #2d2926 !important;
  border-color: #2d2926 !important;
  box-shadow: 0 6px 20px rgba(45, 41, 38, 0.18) !important;
  font-weight: 600 !important;
}

body.ps-ads-landing .ps-hero-btn-primary:hover {
  background: #1f1c1a !important;
  border-color: #1f1c1a !important;
  box-shadow: 0 8px 28px rgba(45, 41, 38, 0.24) !important;
  transform: translateY(-1px) !important;
}

body.ps-ads-landing .ps-hero-btn {
  transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease !important;
}

body.ps-ads-landing .ps-hero-btn-wa {
  border-color: #25d366 !important;
  color: #1a7a3e !important;
}

body.ps-ads-landing .ps-hero-btn-wa:hover {
  background: #f0faf3 !important;
  border-color: #25d366 !important;
}

/* Trust pills */
body.ps-ads-landing .ps-trust-strip {
  gap: 8px !important;
  margin: 0 !important;
}

body.ps-ads-landing .ps-trust-pill {
  display: inline-block !important;
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Noto Sans TC", sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  color: #6b665f !important;
  padding: 7px 14px !important;
  background: #ffffff !important;
  border: 1px solid #e8e3da !important;
  border-radius: 999px !important;
  line-height: 1.4 !important;
}

body.ps-ads-landing .ps-trust-pill--accent {
  color: #2d2926 !important;
  border-color: #d8cdb3 !important;
  background: #fffdf8 !important;
}

/* Product grid header */
body.ps-ads-landing .ps-grid-head {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 8px 16px !important;
  max-width: 1200px !important;
  margin: 0 auto 18px !important;
  padding: 0 4px 14px !important;
  border-bottom: 2px solid #2d2926 !important;
}

body.ps-ads-landing .ps-grid-label {
  font-family: "Playfair Display", "Noto Serif TC", "Noto Sans TC", serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  color: #2d2926 !important;
  letter-spacing: 0.02em !important;
}

body.is-english-page.ps-ads-landing .ps-grid-label {
  font-family: "Cormorant Garamond", "Playfair Display", serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 26px !important;
  letter-spacing: 0.01em !important;
}

body.ps-ads-landing .ps-grid-note {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #9c7b3f !important;
}

/* Product cards — price + CTA emphasis */
body.ps-ads-landing .wd-product .price,
body.ps-ads-landing .wd-product .price .amount {
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
}

body.ps-ads-landing .wd-product .wd-add-btn .button,
body.ps-ads-landing .wd-product .add_to_cart_button {
  width: 100% !important;
  text-align: center !important;
  background: #2d2926 !important;
  border-color: #2d2926 !important;
  color: #fff !important;
  font-size: 12px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 12px 16px !important;
  border-radius: 2px !important;
  transition: background 0.25s ease, transform 0.2s ease !important;
}

body.ps-ads-landing .wd-product .wd-add-btn .button:hover,
body.ps-ads-landing .wd-product .add_to_cart_button:hover {
  background: #3d3936 !important;
  border-color: #3d3936 !important;
  color: #fff !important;
}

body.ps-ads-landing .wd-product:hover .wd-add-btn .button {
  background: #1f1c1a !important;
  border-color: #1f1c1a !important;
}

/* Always-visible “view product” under price (fade ATC is hidden) */
body.ps-ads-landing .wd-product .ps-card-detail {
  display: inline-block !important;
  margin-top: 10px !important;
  font-family: "Inter", "Outfit", "PingFang TC", -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #9c7b3f !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(201, 169, 110, 0.45) !important;
  line-height: 1.4 !important;
}
body.ps-ads-landing .wd-product .ps-card-detail:hover {
  color: #2d2926 !important;
  border-bottom-color: #2d2926 !important;
}

/* Grid section — subtle contrast band */
body.ps-ads-landing .woocommerce.columns-4 {
  background: #ffffff !important;
  border: 1px solid #ece8e1 !important;
  border-radius: 6px !important;
  padding: 24px 20px 28px !important;
  box-shadow: 0 8px 32px rgba(45, 41, 38, 0.04) !important;
}

/* Closing CTA — dark luxury band */
body.ps-ads-landing .ps-closing-cta {
  max-width: 900px !important;
  margin: 80px auto 32px !important;
  padding: 52px 40px 48px !important;
  background: linear-gradient(145deg, #2d2926 0%, #3a3530 100%) !important;
  border: none !important;
  border-radius: 6px !important;
  box-shadow: 0 16px 48px rgba(45, 41, 38, 0.2) !important;
}

body.ps-ads-landing .ps-closing-eyebrow {
  margin: 0 0 10px !important;
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: #c9a96e !important;
}

body.ps-ads-landing .ps-closing-cta h3 {
  color: #ffffff !important;
  font-size: 28px !important;
  margin: 0 0 14px !important;
}

body.ps-ads-landing .ps-closing-cta p {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 16px !important;
  max-width: 580px !important;
  margin: 0 auto 28px !important;
}

body.ps-ads-landing .ps-closing-actions {
  display: flex !important;
  gap: 14px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}

body.ps-ads-landing .ps-closing-cta .ps-hero-btn-primary {
  background: #ffffff !important;
  color: #2d2926 !important;
  border-color: #ffffff !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.15) !important;
}

body.ps-ads-landing .ps-closing-cta .ps-hero-btn-primary:hover {
  background: #faf8f4 !important;
  color: #2d2926 !important;
}

html body.ps-ads-landing .ps-closing-cta a.ps-hero-btn-primary {
  color: #2d2926 !important;
}

body.ps-ads-landing .ps-closing-cta .ps-hero-btn-ghost {
  background: transparent !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
}

body.ps-ads-landing .ps-closing-cta .ps-hero-btn-ghost:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

html body.ps-ads-landing .ps-closing-cta a.ps-hero-btn-ghost,
html body.ps-ads-landing .ps-closing-cta a.ps-hero-btn-ghost:hover {
  color: #ffffff !important;
}

body.ps-ads-landing .ps-closing-cta .ps-hero-btn-wa {
  border-color: #25d366 !important;
  color: #ffffff !important;
}

body.ps-ads-landing .ps-closing-cta .ps-hero-btn-wa:hover {
  background: rgba(37, 211, 102, 0.15) !important;
  border-color: #25d366 !important;
}

@media (max-width: 768px) {
  body.ps-ads-landing .ps-hero-band {
    margin: 4px 12px 24px !important;
    padding: 22px 18px 18px !important;
  }

  body.ps-ads-landing .ps-grid-head {
    margin: 0 12px 14px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  body.ps-ads-landing .woocommerce.columns-4 {
    margin-left: 12px !important;
    margin-right: 12px !important;
    padding: 18px 12px 22px !important;
  }

  body.ps-ads-landing .ps-closing-cta {
    margin: 56px 12px 24px !important;
    padding: 36px 22px 32px !important;
  }

  body.ps-ads-landing .ps-closing-cta h3 {
    font-size: 22px !important;
  }

  body.ps-ads-landing .ps-trust-pill {
    font-size: 10px !important;
    padding: 6px 11px !important;
  }
}

/* ============================================================
   BUNDLE LANDING — 空間組合套裝 (ZH 1675 / EN 2205)
   ============================================================ */

body.ps-ads-landing.ps-landing-bundle .wd-content-area.site-content,
body.ps-ads-landing.ps-landing-bundle .wd-page-content {
  background: linear-gradient(180deg, #faf8f4 0%, #f3efe8 45%, #faf8f4 100%) !important;
}

body.ps-ads-landing.ps-landing-bundle article.entry-content,
body.ps-ads-landing.ps-landing-bundle .wpb-content-wrapper {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-page {
  padding: 0 16px;
}

/* Hero */
body.ps-ads-landing.ps-landing-bundle .ps-bundle-hero {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 28px;
  padding: 36px 8px 8px;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-eyebrow {
  margin: 0 0 12px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #8a8270;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-hero h1,
body.ps-ads-landing.ps-landing-bundle .ps-bundle-grid-head h2,
body.ps-ads-landing.ps-landing-bundle .ps-bundle-closing h2 {
  font-family: "Playfair Display", "Noto Serif TC", "Noto Sans TC", Georgia, serif !important;
  font-weight: 500 !important;
  color: #2a3228 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.22 !important;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-hero h1 {
  font-size: clamp(1.85rem, 4.5vw, 2.75rem) !important;
  margin: 0 0 14px !important;
}

body.is-english-page.ps-ads-landing.ps-landing-bundle .ps-bundle-hero h1 {
  font-family: "Playfair Display", "Cormorant Garamond", Georgia, serif !important;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-lead {
  margin: 0 auto 18px;
  max-width: 34em;
  font-size: 1.02rem;
  line-height: 1.75;
  color: #5a6558;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 0 20px;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-trust span {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(140, 132, 112, 0.22);
  color: #4a5448;
  font-size: 0.84rem;
  font-weight: 600;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-hero-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 22px;
  border-radius: 999px;
  background: #3a433c !important;
  color: #f4f0e8 !important;
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(40, 44, 40, 0.14);
  transition: transform 0.15s ease, background 0.15s ease;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-btn:hover {
  background: #2e3530 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-btn--ghost {
  background: transparent !important;
  color: #3a433c !important;
  border: 1.5px solid rgba(140, 132, 112, 0.45);
  box-shadow: none;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-btn--ghost:hover {
  background: rgba(140, 132, 112, 0.1) !important;
  color: #2f3630 !important;
}

/* Benefits — always visible on mobile */
body.ps-ads-landing.ps-landing-bundle .ps-bundle-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  max-width: 1000px;
  margin: 0 auto 32px;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-benefit {
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(140, 132, 112, 0.18);
  border-radius: 16px;
  padding: 22px 18px 20px;
  text-align: center;
  box-shadow: 0 10px 28px rgba(40, 44, 40, 0.05);
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-benefit-icon {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: #a89c84;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-benefit h3 {
  margin: 0 0 8px !important;
  font-family: "Playfair Display", "Noto Serif TC", Georgia, serif !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  color: #2a3228 !important;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-benefit p {
  margin: 0 !important;
  font-size: 0.94rem;
  line-height: 1.65;
  color: #5a6558;
}

/* Grid head */
body.ps-ads-landing.ps-landing-bundle .ps-bundle-grid-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(140, 132, 112, 0.2);
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-grid-head h2 {
  font-size: clamp(1.35rem, 3vw, 1.75rem) !important;
  margin: 0 0 8px !important;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-grid-head p {
  margin: 0;
  color: #6a7068;
  line-height: 1.65;
}

/* Products row */
body.ps-ads-landing.ps-landing-bundle .ps-bundle-products-row,
body.ps-ads-landing.ps-landing-bundle .vc_row.ps-bundle-products-row {
  max-width: 1200px !important;
  margin: 0 auto 8px !important;
  padding: 0 12px !important;
}

body.ps-ads-landing.ps-landing-bundle .wd-products-element {
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(140, 132, 112, 0.16) !important;
  border-radius: 18px !important;
  padding: 20px 14px 24px !important;
  box-shadow: 0 12px 36px rgba(40, 44, 40, 0.05) !important;
}

body.ps-ads-landing.ps-landing-bundle .product-wrapper,
body.ps-ads-landing.ps-landing-bundle .wd-product {
  background: #fff !important;
  border: 1px solid rgba(140, 132, 112, 0.14) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 22px rgba(40, 44, 40, 0.04) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

body.ps-ads-landing.ps-landing-bundle .wd-product:hover .product-wrapper,
body.ps-ads-landing.ps-landing-bundle .product-wrapper:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 14px 32px rgba(40, 44, 40, 0.09) !important;
}

body.ps-ads-landing.ps-landing-bundle .product-element-top {
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #f4f1ea !important;
}

body.ps-ads-landing.ps-landing-bundle .product-element-top img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.ps-ads-landing.ps-landing-bundle .wd-entities-title,
body.ps-ads-landing.ps-landing-bundle .wd-entities-title a {
  font-family: "Playfair Display", "Noto Serif TC", Georgia, serif !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
  color: #2a3228 !important;
}

body.ps-ads-landing.ps-landing-bundle .price ins,
body.ps-ads-landing.ps-landing-bundle .price .amount {
  color: #2a3228 !important;
  font-weight: 700 !important;
}

body.ps-ads-landing.ps-landing-bundle .price del {
  opacity: 0.45 !important;
}

body.ps-ads-landing.ps-landing-bundle .add_to_cart_button,
body.ps-ads-landing.ps-landing-bundle .button.product_type_simple,
body.ps-ads-landing.ps-landing-bundle .button.product_type_bundle {
  background: #3a433c !important;
  border-color: #3a433c !important;
  color: #f4f0e8 !important;
  border-radius: 999px !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.06em !important;
  font-weight: 600 !important;
}

/* Closing CTA */
body.ps-ads-landing.ps-landing-bundle .ps-bundle-closing {
  max-width: 720px;
  margin: 36px auto 28px;
  padding: 32px 22px;
  text-align: center;
  background: #3a433c;
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(40, 44, 40, 0.16);
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-closing .ps-bundle-eyebrow {
  color: #c8c0b0;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-closing h2 {
  color: #f4f0e8 !important;
  font-size: clamp(1.35rem, 3vw, 1.75rem) !important;
  margin: 0 0 10px !important;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-closing > p:not(.ps-bundle-eyebrow):not(.ps-bundle-hero-cta) {
  color: #d8d2c6;
  margin: 0 auto 18px;
  max-width: 30em;
  line-height: 1.7;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-closing .ps-bundle-btn {
  background: #f4f0e8 !important;
  color: #2a3228 !important;
  box-shadow: none;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-closing .ps-bundle-btn:hover {
  background: #fff !important;
  color: #1a1a1a !important;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-closing .ps-bundle-btn--ghost {
  background: transparent !important;
  color: #f4f0e8 !important;
  border-color: rgba(244, 240, 232, 0.35);
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-closing .ps-bundle-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
}

/* Fix WP image size blow-up on landing */
body.ps-ads-landing.ps-landing-bundle img[sizes="auto"] {
  contain-intrinsic-size: 400px 400px !important;
}

@media (max-width: 900px) {
  body.ps-ads-landing.ps-landing-bundle .ps-bundle-benefits {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.ps-ads-landing.ps-landing-bundle .ps-bundle-hero {
    padding-top: 24px;
    margin-bottom: 20px;
  }

  body.ps-ads-landing.ps-landing-bundle .ps-bundle-hero-cta {
    flex-direction: column;
  }

  body.ps-ads-landing.ps-landing-bundle .ps-bundle-btn {
    width: 100%;
  }

  body.ps-ads-landing.ps-landing-bundle .wd-products-element {
    padding: 12px 8px 16px !important;
    border-radius: 14px !important;
  }

  body.ps-ads-landing.ps-landing-bundle .ps-bundle-closing {
    margin: 28px 8px 20px;
    padding: 26px 16px;
  }

  /* Prefer 2-col product grid on phones when theme allows */
  body.ps-ads-landing.ps-landing-bundle .wd-products[class*="columns-3"] .wd-product,
  body.ps-ads-landing.ps-landing-bundle .products.elements-grid .product {
    margin-bottom: 12px !important;
  }
}

/* Compact hero card */
body.ps-ads-landing.ps-landing-bundle .ps-bundle-hero {
  max-width: 680px;
  margin: 0 auto 20px;
  padding: 28px 24px 24px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(140, 132, 112, 0.18);
  border-radius: 18px;
  box-shadow: 0 12px 36px rgba(40, 44, 40, 0.06);
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-eyebrow {
  margin: 0 0 8px;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-hero h1 {
  font-size: clamp(1.6rem, 4vw, 2.2rem) !important;
  margin: 0 0 10px !important;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-lead {
  margin: 0 auto 12px;
  font-size: 0.98rem;
  line-height: 1.65;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-meta {
  margin: 0 auto 18px;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #7a8278;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-trust {
  display: none !important;
}

/* Hide ads-landing injection on bundle pages */
body.ps-ads-landing.ps-landing-bundle .ps-hero-band,
body.ps-ads-landing.ps-landing-bundle #psHeroCta,
body.ps-ads-landing.ps-landing-bundle .ps-trust-strip {
  display: none !important;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-grid-head {
  max-width: 680px;
  margin: 0 auto 14px;
  padding: 0 0 10px;
  border-bottom: none;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-grid-head h2 {
  font-size: clamp(1.1rem, 2.5vw, 1.35rem) !important;
  margin: 0 !important;
  color: #5a6558 !important;
  font-weight: 500 !important;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-closing {
  max-width: 680px;
  margin: 28px auto 24px;
  padding: 24px 20px;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-closing h2 {
  font-size: clamp(1.15rem, 2.8vw, 1.45rem) !important;
  margin: 0 0 8px !important;
}

body.ps-ads-landing.ps-landing-bundle .ps-bundle-closing > p {
  margin: 0 auto 16px !important;
  font-size: 0.94rem;
}

@media (max-width: 900px) {
  body.ps-ads-landing.ps-landing-bundle .ps-bundle-hero {
    padding: 22px 16px 18px;
    margin-bottom: 16px;
  }

  body.ps-ads-landing.ps-landing-bundle .ps-bundle-hero-cta {
    flex-direction: column;
  }

  body.ps-ads-landing.ps-landing-bundle .ps-bundle-btn {
    width: 100%;
  }
}

/* Bundle page — mobile product grid: reduce side margins */
@media (max-width: 900px) {
  body.ps-ads-landing.ps-landing-bundle .wd-content-layout.content-layout-wrapper.container {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body.ps-ads-landing.ps-landing-bundle .ps-bundle-products-row,
  body.ps-ads-landing.ps-landing-bundle .vc_row.ps-bundle-products-row {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.ps-ads-landing.ps-landing-bundle .ps-bundle-products-row .vc_column_container > .vc_column-inner,
  body.ps-ads-landing.ps-landing-bundle .ps-bundle-products-row .wpb_wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.ps-ads-landing.ps-landing-bundle .wd-products-element {
    padding: 8px 6px 14px !important;
    border-radius: 12px !important;
  }

  body.ps-ads-landing.ps-landing-bundle .wd-products.elements-grid {
    --wd-gap-sm: 8px !important;
    --wd-gap-lg: 8px !important;
  }

  body.ps-ads-landing.ps-landing-bundle .wd-products.elements-grid .wd-product,
  body.ps-ads-landing.ps-landing-bundle .products.elements-grid .product {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.ps-ads-landing.ps-landing-bundle .wd-entities-title,
  body.ps-ads-landing.ps-landing-bundle .wd-entities-title a {
    font-size: 0.9rem !important;
  }

  body.ps-ads-landing.ps-landing-bundle .ps-bundle-page {
    padding-left: 10px;
    padding-right: 10px;
  }

  body.ps-ads-landing.ps-landing-bundle .ps-bundle-closing {
    margin-left: 4px;
    margin-right: 4px;
  }
}
