/* =====================================================
   SPEED MODE 2 — ULTRA OPTIMISED FUNERAL PAGE CSS
   ===================================================== */
.funeral-tributes-wrapper{background:#F9F7F2;padding:38px 18px;max-width:1100px;margin:auto;font-family:Lato,sans-serif;contain:layout style}
.funeral-tributes-wrapper h1,.funeral-tributes-wrapper h2{font-family:'Playfair Display',serif;color:#4A6655;margin:0 0 14px}
.funeral-tributes-wrapper p{margin:0 0 20px}

/* Category grid */
.category-grid{display:flex;flex-wrap:wrap;gap:26px;justify-content:center;margin:34px 0}
.category-wrapper{text-align:center;width:180px;contain:layout}
.category-card{width:180px;aspect-ratio:1/1;border-radius:50%;overflow:hidden;position:relative;display:block;background:#eee;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.category-card img{width:100%;height:100%;object-fit:cover;transition:.35s;filter:brightness(.92);will-change:transform}
.category-card:hover img{transform:scale(1.07)}
.blur{position:absolute;inset:0;background:#ddd;filter:blur(12px);transition:opacity .4s}
.overlay-text{margin-top:8px;font-weight:700;font-size:.98rem;color:#4A6655}

@media(max-width:768px){
 .category-wrapper{width:140px}
 .category-card{width:140px}
}

/* Info + directors */
.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-bottom:40px}
.info-card{background:#fff;padding:20px;border-radius:10px;box-shadow:0 3px 12px rgba(0,0,0,.05)}

.funerals-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:28px}
.funeral-card{background:#fff;padding:14px 16px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.04);font-size:.9rem}
.funeral-card h4{margin-bottom:4px;font-size:1rem}
.funeral-card a{color:#4A6655;text-decoration:none;font-weight:700}
.funeral-card a:hover{color:#D88A8A}
