:root { --ahb-shadow: 0 4px 20px rgba(0,0,0,.06); }
.ahb-cards-grid { display:grid; gap: var(--ahb-grid-gap,20px); grid-template-columns: repeat(var(--ahb-cols,3), minmax(0,1fr)); }
@media (max-width: 960px) { .ahb-cards-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .ahb-cards-grid { grid-template-columns: 1fr; } } .ahb-card { border-radius: var(--ahb-radius,18px); box-shadow: var(--ahb-shadow); overflow:hidden; transition: transform .18s ease, box-shadow .18s ease; display:flex; flex-direction:column; height: var(--ahb-card-h, 480px); position:relative; background:#fff; }
.ahb-card:hover { transform: translateY(-3px); box-shadow: 0 8px 30px rgba(0,0,0,.10); }
.ahb-card-media { margin:0; height: var(--ahb-media-h, 260px); background:#e9eef3; display:block; overflow:hidden; }
.ahb-card-media img { width:100%; height:100%; object-fit: cover; display:block; }
.ahb-card-media--placeholder { background:#e9eef3; }
.ahb-badge { position:absolute; top:0; left:0; margin:12px; padding:6px 12px; border-radius:999px; background:#ffffffcc; backdrop-filter:saturate(180%) blur(6px); font-size:.9rem; }
.ahb-card-body { padding: var(--ahb-body-pad, 18px 20px 22px); display:flex; flex-direction:column; gap:10px; flex:1; }
.ahb-card-title { margin:0; font-size:1.25rem; line-height:1.2; }
.ahb-card-sub { margin:0; color:#6b7280; }
.ahb-card-desc { margin:0; color:#374151; }
.ahb-card-cta { margin-top:auto; }
.ahb-link { text-decoration:none; font-weight:600; color: var(--ahb-link, #0ea5e9); }
.ahb-link:hover { text-decoration: underline; }
.ahb-btn { display:inline-block; padding:10px 16px; border-radius:12px; background: var(--ahb-accent,#10b981); color:#fff; text-decoration:none; font-weight:600; }
.ahb-btn:hover { filter: brightness(0.95); } @media (max-width: 960px) {
.ahb-card { height: var(--ahb-card-h-tablet, calc(var(--ahb-card-h) * .85)); }
.ahb-card-media { height: var(--ahb-media-h-tablet, calc(var(--ahb-media-h) * .85)); }
}
@media (max-width: 640px) {
.ahb-card { height: var(--ahb-card-h-mobile, calc(var(--ahb-card-h) * .70)); }
.ahb-card-media { height: var(--ahb-media-h-mobile, calc(var(--ahb-media-h) * .70)); }
} .ahb-faq details { background:#f8fafc; border:1px solid #e5e7eb; border-radius:14px; padding:14px 16px; margin-bottom:10px; }
.ahb-faq summary { cursor:pointer; font-weight:600; }
.ahb-faq .ahb-faq-answer { margin-top:8px; color:#374151; }