/* Crearym Portfolio : grille, filtres et fiche projet */
.cmp-grid{display:grid;grid-template-columns:repeat(var(--cmp-cols,3),minmax(0,1fr));gap:28px;margin:0}
.cmp-card{background:#fff;border:1px solid #e2dfd8;border-radius:4px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.cmp-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.1)}
.cmp-card.is-hidden{display:none}
.cmp-card__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:#0c0c0d}
.cmp-card__img{aspect-ratio:4/3;background:#f4f2ee;overflow:hidden}
.cmp-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.cmp-card__body{padding:20px 24px 26px}
.cmp-card__cat{display:block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#d4137a;margin-bottom:6px}
.cmp-card__title{font-size:1.3rem;line-height:1.2;margin:0 0 6px;font-weight:900;text-transform:none;letter-spacing:-.01em;color:#0c0c0d}
.cmp-card__meta{display:block;font-size:.9rem;font-weight:500;color:#5c5c61;margin-bottom:8px}
.cmp-card__excerpt{margin:0;font-size:.98rem;line-height:1.5;color:#5c5c61;font-weight:400}
.cmp-empty{color:#5c5c61}

.cmp-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px}
.cmp-filter{appearance:none;background:transparent;border:2px solid #0c0c0d;border-radius:999px;padding:8px 18px;min-height:44px;font:inherit;font-weight:700;font-size:.95rem;color:#0c0c0d;cursor:pointer}
.cmp-filter:hover,.cmp-filter.is-active{background:#0c0c0d;color:#fff}
.cmp-filter:focus-visible,.cmp-btn:focus-visible,.cmp-card__link:focus-visible{outline:3px solid #ff2e93;outline-offset:3px}

/* Fiche projet */
.cmp-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px 28px;margin:0 0 36px;padding:24px 0;border-top:2px solid #0c0c0d;border-bottom:1px solid #e2dfd8}
.cmp-facts dt{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#d4137a;margin:0 0 4px}
.cmp-facts dd{margin:0;font-weight:500}
.cmp-facts a{color:#0c0c0d;font-weight:700}
.cmp-block{margin:40px 0 0}
.cmp-block h2{font-size:1.6rem;text-transform:none;letter-spacing:-.01em;margin:0 0 12px}
.cmp-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:40px 0 0}
.cmp-gallery figure{margin:0}
.cmp-gallery img{width:100%;height:auto;border-radius:4px;display:block}
.cmp-cta{margin:48px 0 0}
.cmp-btn{display:inline-block;background:#ff2e93;color:#fff;border:2px solid #ff2e93;border-radius:4px;padding:14px 26px;font-weight:700;text-decoration:none;min-height:48px}
.cmp-btn:hover{background:#d4137a;border-color:#d4137a;color:#fff}

@media (max-width:900px){.cmp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.cmp-grid,.cmp-gallery{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.cmp-card{transition:none}.cmp-card:hover{transform:none}}
