/* Homepage gift-library entry. Only public, active categories are rendered by site.js. */
.home-category-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:0 0 17px;
}
.home-category-card.category-tile{
  min-height:180px;
  padding:0;
  display:grid;
  grid-template-columns:minmax(125px,42%) minmax(0,1fr);
  align-items:stretch;
  overflow:hidden;
  background:#fff;
  border:1px solid #dbe4db;
  border-radius:9px;
  color:#1b3023;
}
.home-category-card.category-tile:hover{
  background:#f8faf7;
  border-color:#95b29b;
}
.home-category-card:focus-visible,.home-category-all:focus-visible,
.products-section #filters button:focus-visible{
  outline:3px solid #729a7a;
  outline-offset:3px;
}
.home-category-media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:17px;
  background:#f1f4ef;
}
.home-category-card.category-tile img{
  width:100%;
  height:145px;
  max-height:100%;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.home-category-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  padding:21px 18px 17px;
}
.home-category-copy strong{
  font-size:21px;
  line-height:1.35;
  letter-spacing:-.035em;
  font-weight:700;
  overflow-wrap:anywhere;
}
.home-category-copy small{
  margin-top:9px;
  color:#326244;
  font-size:12px;
  font-weight:700;
}
.home-category-copy small span{margin-left:6px}
.home-category-examples{
  margin-top:auto;
  padding-top:18px;
  color:#69796d;
  font-size:11px;
  line-height:1.6;
}
.home-category-all{
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin:0 0 26px;
  padding:4px 0 6px;
  border-bottom:1px solid #1f4930;
  color:#1c442b;
  font-size:13px;
  font-weight:700;
}
.home-category-status{
  grid-column:1/-1;
  margin:0;
  padding:22px;
  background:#fff;
  border:1px solid #dbe4db;
  color:#617365;
  font-size:13px;
}
.home-category-status a{
  color:#1c5633;
  font-weight:700;
  text-decoration:underline;
}
.products-section .product-tools{
  position:static;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(230px,280px);
  gap:15px;
  align-items:start;
}
.products-section #filters{
  display:grid;
  gap:8px;
  min-width:0;
  overflow:visible;
}
.home-filter-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  min-width:0;
}
.products-section #filters button{
  min-height:40px;
  padding:8px 12px;
  border:1px solid #d3ded3;
  border-radius:6px;
  background:#fff;
  color:#365340;
  font-size:12px;
  line-height:1.3;
  white-space:normal;
}
.products-section #filters button:hover{border-color:#8dac94;background:#f3f7f2}
.products-section #filters button.active{
  border-color:#1f3c29;
  border-radius:6px;
  background:#1f3c29;
  color:#fff;
}
.home-filter-children{
  padding:9px 0 0;
  border-top:1px solid #e5ebe4;
}
.home-filter-label{
  margin-right:6px;
  color:#65786a;
  font-size:11px;
  font-weight:700;
}
.products-section .product-tools .search{
  min-height:42px;
  width:100%;
  margin:0;
  background:#fff;
}
.products-section .empty-products{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 18px;
  padding:30px;
  border:1px solid #dbe4db;
  color:#637668;
  font-size:13px;
}
.products-section .empty-products button,
.products-section .empty-products a{
  padding:9px 11px;
  border:1px solid #a8c2aa;
  border-radius:5px;
  background:#fff;
  color:#1d4b2b;
  font-size:12px;
  font-weight:700;
}
@media(max-width:1100px){
  .home-category-card.category-tile{grid-template-columns:minmax(95px,40%) minmax(0,1fr)}
  .home-category-copy{padding:15px 12px}
  .home-category-copy strong{font-size:18px}
}
@media(max-width:760px){
  .home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .home-category-card.category-tile{
    min-height:0;
    display:flex;
    flex-direction:column;
  }
  .home-category-media{height:130px;padding:12px}
  .home-category-card.category-tile img{height:108px}
  .home-category-copy{flex:1;padding:12px}
  .home-category-copy strong{font-size:16px}
  .home-category-copy small{font-size:11px;margin-top:6px}
  .home-category-examples{padding-top:10px;font-size:11px}
  .products-section .product-tools{grid-template-columns:1fr}
  .products-section #filters button{min-height:44px}
  .products-section .product-tools .search{min-height:44px}
}
@media(max-width:380px){
  .home-category-copy strong{font-size:15px}
  .home-category-media{height:112px}
  .home-category-card.category-tile img{height:94px}
}
