/* ChaosFerns visual refresh: frame product photos so mixed backgrounds (black/white/etc.) sit consistently on a warm mat instead of bleeding to the card edge */
.wc-block-components-product-image,
.woocommerce-product-gallery__image,
.flex-control-thumbs li {
	  background-color: #efe7d6;
	  border: 1px solid #e4ddcd;
	  border-radius: 4px;
}
.wc-block-components-product-image {
	  padding: 18px;
	  box-sizing: border-box;
	  overflow: hidden;
}
.wc-block-components-product-image img {
	  object-fit: contain !important;
}
.woocommerce-product-gallery__image {
	  padding: 28px;
	  box-sizing: border-box;
	  overflow: hidden;
}
.woocommerce-product-gallery__image img.wp-post-image,
.woocommerce-product-gallery__image img.zoomImg {
	  object-fit: contain !important;
	  width: 100% !important;
	  height: 100% !important;
}
.flex-control-thumbs li {
	  padding: 6px;
	  box-sizing: border-box;
	  overflow: hidden;
}
.flex-control-thumbs li img {
	  object-fit: contain !important;
}

/* gentle hover lift on product cards */
ul.wc-block-product-template li.wc-block-product {
	  transition: transform .25s ease;
}
ul.wc-block-product-template li.wc-block-product:hover {
	  transform: translateY(-6px);
}

}/* =========================================================
   CHAOSFERNS — Events page card styling
   Paste this into: 外观 (Appearance) → 编辑器/自定义 (Editor/Customize)
   → 附加 CSS (Additional CSS)
   ========================================================= */

.cf-events .wp-block-post-template{
  list-style: none;
  margin: 0;
  padding: 0;
}

.cf-events .wp-block-post-template > li.wp-block-post{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(31,59,44,0.15);
  padding: 22px 24px;
  min-height: 280px;
  isolation: isolate;
  transition: transform .25s ease, box-shadow .25s ease;
  background: #e7e0d2; /* fallback color if no featured image is set yet */
}

.cf-events .wp-block-post-template > li.wp-block-post:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(31,59,44,0.22);
}

.cf-events--upcoming .wp-block-post-template > li.wp-block-post{
  min-height: 360px;
}

/* featured image becomes the full-bleed card background */
.cf-events .wp-block-post-featured-image{
  position: absolute;
  inset: 0;
  margin: 0;
  z-index: 0;
}
.cf-events .wp-block-post-featured-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* dark gradient so white text stays readable over any photo */
.cf-events .wp-block-post-template > li.wp-block-post::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20,35,26,0) 35%, rgba(15,28,20,0.85) 100%);
  z-index: 1;
  pointer-events: none;
}

.cf-events .wp-block-post-date,
.cf-events .wp-block-post-title{
  position: relative;
  z-index: 2;
}

.cf-events .wp-block-post-date{
  display: inline-block;
  color: #f7f3e9;
  background: rgba(247,243,233,0.15);
  border: 1px solid rgba(247,243,233,0.5);
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 1.2px;
  margin-bottom: 10px;
  width: fit-content;
}

.cf-events .wp-block-post-title{
  font-size: 24px;
  line-height: 1.15;
  margin: 0;
}
.cf-events--upcoming .wp-block-post-title{
  font-size: 32px;
}
.cf-events .wp-block-post-title a{
  color: #f7f3e9;
  text-decoration: none;
}

/* 3-column grid for Past Events (WordPress adds is-flex-container + columns-3
   automatically because of the "displayLayout" grid setting) */
.cf-events--past.wp-block-query.is-flex-container{
  gap: 28px;
}
@media (max-width: 900px){
  .cf-events--past.wp-block-query.is-flex-container{
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 560px){
  .cf-events--past.wp-block-query.is-flex-container{
    grid-template-columns: 1fr !important;
  }
}
}
}
}
}
}
}
}
}