
/* Force a responsive grid on likely wrappers and the cards container */
.cards-page .cards-grid,
.cards-page .cards,
.cards-page .cards.grid,
.cards-page .wp-block-group,
.cards-page .kb-row-layout-wrap {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
}

/* Card polish */
.cards-page .swh-card { background:#fff; border-radius:14px; overflow:hidden; padding:0; box-shadow:0 2px 8px rgba(0,0,0,.06); height:100%; }
.cards-page .swh-card .image { position:relative; display:block; }
.cards-page .swh-card .image img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; display:block; }
.cards-page .swh-card .inner { padding:16px; display:flex; flex-direction:column; }
.cards-page .swh-card .title { margin:0 0 8px; font-weight:700; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cards-page .swh-card .meta { margin:0 0 12px; color:#5b5b5b; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.cards-page .swh-card .button { margin-top:auto; }

.cards-page .cards-section { margin:40px 0; }
.cards-page .section-title { margin:0 0 10px; }
.cards-page .section-intro { margin:0 0 16px; }

/* Neutralize stray inline padding from imported HTML */
.cards-page .swh-card [style*="padding"] { padding:inherit !important; }

/* Badges */
.cards-page .badge.tag { position:absolute; left:12px; top:12px; padding:4px 8px; border-radius:6px; color:#fff; font-size:.8rem; z-index:3; }

/* Force a responsive grid on likely wrappers and the cards container */
.cards-page .cards-grid,
.cards-page .cards,
.cards-page .cards.grid,
.cards-page .wp-block-group,
.cards-page .kb-row-layout-wrap {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
}

/* Card polish */
.cards-page .swh-card { background:#fff; border-radius:14px; overflow:hidden; padding:0; box-shadow:0 2px 8px rgba(0,0,0,.06); height:100%; }
.cards-page .swh-card .image { position:relative; display:block; }
.cards-page .swh-card .image img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; display:block; }
.cards-page .swh-card .inner { padding:16px; display:flex; flex-direction:column; }
.cards-page .swh-card .title { margin:0 0 8px; font-weight:700; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cards-page .swh-card .meta { margin:0 0 12px; color:#5b5b5b; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.cards-page .swh-card .button { margin-top:auto; }

.cards-page .cards-section { margin:40px 0; }
.cards-page .section-title { margin:0 0 10px; }
.cards-page .section-intro { margin:0 0 16px; }

/* Neutralize stray inline padding from imported HTML */
.cards-page .swh-card [style*="padding"] { padding:inherit !important; }

/* Badges */
.cards-page .badge.tag { position:absolute; left:12px; top:12px; padding:4px 8px; border-radius:6px; color:#fff; font-size:.8rem; z-index:3; }
/* De-emphasize restart & exit buttons on results */
.swh-quiz .ays_restart_btn,
.swh-quiz .ays_finish_btn {
  opacity: 0.45;
  transform: scale(0.9);
}

.swh-quiz .ays_restart_btn:hover,
.swh-quiz .ays_finish_btn:hover {
  opacity: 0.7;
}
.wp-block-button__link {
    display: inline-block;
    text-decoration: none;
    padding: 0.75em 1.5em;
    background: #000; /* or your theme’s button color */
    color: #fff;
    text-align: center;
    border-radius: 4px;
}
.product-card-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* --- Spend With Heart: Resource Card (Global) --- */
.swh-ritual-card{
  max-width: 900px;
  margin: 24px auto;
  padding: 0;
}
.swh-ritual-inner{
  background: #F7F2EE;
  border-radius: 16px;
  padding: 26px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.05);
}
.swh-ritual-title{
  margin: 0 0 10px 0;
  font-size: 28px;
  line-height: 1.2;
  color: #2b2b2b;
}
.swh-ritual-text{
  margin: 0 0 14px 0;
  font-size: 16px;
  line-height: 1.6;
  color: #444;
}
.swh-ritual-list{
  margin: 0 0 18px 18px;
  padding: 0;
  color: #444;
  font-size: 16px;
  line-height: 1.6;
}
.swh-ritual-btn-wrap{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 10px 0;
}
.swh-ritual-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 600;
  border-radius: 12px;
  padding: 12px 18px;
  line-height: 1.2;
  transition: transform .05s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
  white-space: normal;
}
.swh-ritual-btn-primary{
  background: #6b5e57;
  color: #ffffff;
  border: 2px solid #6b5e57;
}
.swh-ritual-btn-primary:hover{
  filter: brightness(0.95);
}
.swh-ritual-btn-secondary{
  background: transparent;
  color: #6b5e57;
  border: 2px solid #6b5e57;
}
.swh-ritual-btn-secondary:hover{
  background: rgba(107, 94, 87, 0.08);
}

/* Accessible focus */
.swh-ritual-btn:focus{ outline: none; }
.swh-ritual-btn:focus-visible{
  box-shadow: 0 0 0 4px rgba(107, 94, 87, 0.25);
}

.swh-ritual-micro{
  margin: 0;
  font-size: 14px;
  color: #6b5e57;
}

/* Mobile: stack buttons full width */
@media (max-width: 640px){
  .swh-ritual-inner{ padding: 18px; }
  .swh-ritual-title{ font-size: 24px; }
  .swh-ritual-btn-wrap{ gap: 10px; }
  .swh-ritual-btn{ width: 100%; }
}
.sticky-quiz-btn {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #735f57; /* You can change this to match your brand */
  color: white;
  padding: 14px 26px;
  border-radius: 50px;
  font-weight: bold;
  z-index: 9999;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  text-align: center;
}

@media (min-width: 768px) {
  .sticky-quiz-btn {
    display: none;
  }
}
