/* Florida Bunk Beds 1.4.13 — shared, equal-height catalog cards. */
.npfb-design-grid > .npfb-design-card--unified,
.npfb-catalog-entry > .npfb-design-card--unified {
  height: 100%; min-width: 0; display: flex; flex-direction: column;
  border: 1px solid #dbe4e2; background: #fff; border-radius: 15px;
  overflow: hidden; box-shadow: 0 8px 24px rgba(11,38,45,.07);
}
.npfb-catalog-entry { min-width: 0; }
.npfb-design-grid--page { width: min(calc(100vw - 48px), 1160px); max-width: 1160px; position:relative; left:50%; transform:translateX(-50%); margin: 30px 0 40px; }
.npfb-catalog-grid > .npfb-catalog-entry { display:flex; }
.npfb-design-card--unified .npfb-design-media { display:block; width:100%; height:auto; aspect-ratio:16/10; flex:none; overflow:hidden; margin:0; border-radius:0; background:#e8eeee; }
.npfb-design-card--unified .npfb-design-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; border-radius:0; }
.npfb-design-card--unified .npfb-design-body { flex:1; min-height:0; display:flex; flex-direction:column; gap:0; padding:21px 20px 20px; }
.npfb-design-card--unified .npfb-design-body > h2,
.npfb-design-card--unified .npfb-design-body > h3 { min-height:2.35em; margin:0 0 9px; font-size:clamp(1.25rem, 1.8vw, 1.48rem); line-height:1.17; letter-spacing:-.015em; }
.npfb-design-card--unified .npfb-design-body > h2 a,
.npfb-design-card--unified .npfb-design-body > h3 a { color:#173239; text-decoration:none; }
.npfb-design-card--unified .npfb-design-price { font-size:.9rem; color:#4f656b; min-height:27px; margin:0 0 9px; }
.npfb-design-card--unified .npfb-design-price--empty { visibility:hidden; }
.npfb-design-card--unified .npfb-design-description { color:#52666c; margin:0 0 19px; font-size:.94rem; line-height:1.62; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden; }
.npfb-design-card--unified .npfb-design-actions { margin-top:auto; display:flex; flex-direction:column; gap:8px; align-items:flex-start; padding-top:10px; }
.npfb-design-card--unified .npfb-design-action { display:inline-flex; min-width:163px; box-sizing:border-box; align-items:center; justify-content:center; min-height:42px; padding:10px 14px; border-radius:7px; font-size:.9rem; font-weight:750; line-height:1.25; text-decoration:none; transition:background .15s ease,border-color .15s ease; }
.npfb-design-card--unified .npfb-design-action-primary { color:#fff; background:#173d36; border:1px solid #173d36; }
.npfb-design-card--unified .npfb-design-action-primary:hover,
.npfb-design-card--unified .npfb-design-action-primary:focus-visible { color:#fff; background:#24584b; }
.npfb-design-card--unified .npfb-design-action-outline { color:#765132; background:#fff; border:1px solid #a88c72; }
.npfb-design-card--unified .npfb-design-action-outline:hover,
.npfb-design-card--unified .npfb-design-action-outline:focus-visible { color:#173d36; border-color:#173d36; background:#f4f8f6; }
.npfb-design-card--unified .npfb-design-action:focus-visible { outline:3px solid #5aafb6; outline-offset:3px; }
/* Existing saved Query Loop markup remains usable when the post type/query differs. */
body.npfb-designs-page .npfb-page-content .wp-block-post-template > .wp-block-post.npfb-card-enhanced {
 display:flex !important; flex-direction:column !important;
}
body.npfb-designs-page .npfb-page-content .wp-block-post.npfb-card-enhanced .npfb-design-actions { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:0 22px 20px; margin-top:auto; }
body.npfb-designs-page .npfb-page-content .wp-block-post.npfb-card-enhanced .npfb-design-actions .npfb-design-action { text-decoration:none; display:inline-flex; justify-content:center; align-items:center; min-width:163px; min-height:42px; box-sizing:border-box; padding:9px 14px; border-radius:7px; font-weight:750; font-size:.9rem; }
body.npfb-designs-page .npfb-page-content .wp-block-post.npfb-card-enhanced .wp-block-post-excerpt__more-text,
body.npfb-designs-page .npfb-page-content .wp-block-post.npfb-card-enhanced .wp-block-read-more { display:none !important; }
@media (max-width:950px) { .npfb-design-grid--page { width:min(calc(100vw - 36px), 820px); } }
@media (max-width:650px) { .npfb-design-grid--page { width:min(calc(100vw - 28px), 500px); margin-top:22px; }
  .npfb-design-card--unified .npfb-design-body > h2,.npfb-design-card--unified .npfb-design-body > h3 { min-height:0; }
  .npfb-design-card--unified .npfb-design-actions { width:100%; }
  .npfb-design-card--unified .npfb-design-action { width:100%; }
}
@media (prefers-reduced-motion:reduce) { .npfb-design-card--unified,.npfb-design-card--unified * { transition:none !important; } }
.npfb-catalog-entry > .npfb-design-card--unified { width:100%; }
.npfb-catalog-entry[hidden] { display:none !important; }
