.viva-favorites { box-sizing:border-box; width:100%; max-width:1600px; padding:0 40px; margin:70px auto; font-family:Arial,sans-serif; }
.viva-favorites *, .viva-favorites *::before, .viva-favorites *::after { box-sizing:border-box; }
.viva-favorites .viva-favorites__heading { margin:0 0 36px; color:#111; font-family:inherit; font-size:40px; line-height:1.2; font-weight:400; letter-spacing:0; text-transform:none; }
.viva-favorites__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.viva-favorites .viva-favorites__card { position:relative; display:block; overflow:hidden; aspect-ratio:100 / 140.26; color:#fff; background:#e8e8e8; text-decoration:none; }
.viva-favorites__card img { width:100%; height:100%; display:block; object-fit:cover; }
.viva-favorites .viva-favorites__label { position:absolute; bottom:0; left:0; right:0; display:flex; justify-content:space-between; align-items:center; padding:24px; color:#fff; font-size:22px; line-height:1.2; background:linear-gradient(transparent,rgba(0,0,0,.28)); }
.viva-favorites__card:focus-visible { outline:3px solid #111; outline-offset:3px; }
.viva-favorites__arrow { font-size:28px; line-height:1; }
@media(max-width:767px) { .viva-favorites { padding:0 15px; margin:45px auto; } .viva-favorites .viva-favorites__heading {font-size:26px;margin-bottom:20px;} .viva-favorites__grid {grid-template-columns:1fr;gap:10px;} .viva-favorites .viva-favorites__label {padding:18px;font-size:18px;} }
