.procedure-grid{gap:28px}
.procedure-card{position:relative;overflow:hidden;padding:0;border:1px solid var(--sand);border-radius:var(--radius);background:var(--terra);color:var(--surface);box-shadow:0 2px 6px #4827200a;transition:box-shadow .25s,border-color .25s}
.procedure-card:nth-child(even){background:var(--olive)}
.procedure-photo{height:auto;aspect-ratio:4/5;flex-shrink:0;overflow:hidden;background:var(--surface)}
.procedure-photo img{width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .5s ease}
.procedure-content{position:relative;display:flex;flex:1;flex-direction:column;padding:28px;background:inherit;transition:transform .25s ease}
.procedure-card .number{color:var(--surface);font-family:Inter,Arial,sans-serif;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.procedure-card h2{font-family:Sought,Georgia,serif;font-weight:400;font-size:clamp(1.125rem,1.5vw,1.375rem);line-height:1.3;margin-bottom:18px}
.procedure-card p{color:var(--surface);font-size:.9375rem;margin-bottom:24px}
.procedure-card .text-link{color:var(--surface);text-decoration-color:var(--sand);font-size:.8125rem;gap:12px;min-height:44px}
.procedure-card .text-link:hover{text-decoration-thickness:2px}
.procedure-card:focus-within{border-color:var(--brown);box-shadow:0 5px 14px #48272018}
.procedure-card:focus-within .procedure-content{transform:translateY(-6px)}
.procedure-card:focus-within .procedure-photo img{transform:scale(1.07)}
.procedure-favorite{position:absolute;top:16px;right:16px;z-index:2;display:grid;place-items:center;width:44px;height:44px;color:var(--terra);background:var(--surface);border:1px solid var(--sand);border-radius:50%;cursor:pointer}
.procedure-favorite input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.procedure-favorite svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;pointer-events:none;transition:fill .2s,transform .2s}
.procedure-favorite:has(input:focus-visible){outline:3px solid var(--terra);outline-offset:4px}
.procedure-favorite input:checked+svg{fill:var(--terra)}
.procedure-favorite:active svg{transform:scale(.92)}
@media(hover:hover){.procedure-card:hover{border-color:var(--brown);box-shadow:0 5px 14px #48272018}.procedure-card:hover .procedure-content{transform:translateY(-6px)}.procedure-card:hover .procedure-photo img{transform:scale(1.07)}}
@media(max-width:767px){.procedure-grid{gap:24px}.procedure-photo{height:auto;aspect-ratio:4/5}.procedure-content{padding:24px}.procedure-card h2{font-size:clamp(1rem,4.4vw,1.375rem)}}
@media(prefers-reduced-motion:reduce){.procedure-card,.procedure-content,.procedure-photo img,.procedure-favorite svg{transition:none!important;transform:none!important}}

/* Grade solicitada: conteúdo completo dentro de cada card. */
.procedure-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.procedure-content{padding:16px}
.procedure-card h2{font-size:1rem;line-height:1.4}
.procedure-card p{font-size:14px;line-height:1.6;margin-bottom:16px}
.procedure-card .number{font-size:10px;letter-spacing:.05em;margin-bottom:10px}
.procedure-card .text-link{font-size:12px;gap:6px}
.procedure-favorite{top:8px;right:8px}
@media(max-width:767px){
 .procedure-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .procedure-content{padding:10px 8px}
 .procedure-card h2{font-family:Inter,Arial,sans-serif;font-size:12px;font-weight:500;line-height:1.45;margin-bottom:12px}
 .procedure-card p{font-size:12px;line-height:1.55}
 .procedure-card .text-link{font-size:11px;display:block;padding-block:8px}
 .procedure-card .text-link .arrow{display:none}
 .procedure-card .number{font-size:9px;letter-spacing:0}
 .procedure-favorite{top:4px;right:4px}
}
