:root{--gold:#C9A24A;--goldh:#E0BC66;--champ:#F0DAB9;--sec:#A8A08C;--bd:#83703F;--sf:#141414}
.card{position:relative;display:block;width:100%;aspect-ratio:4/3;padding:0;background:var(--sf);border:1px solid rgba(131,112,63,.7);border-radius:3px;overflow:hidden;cursor:pointer;text-align:left;color:inherit;transition:border-color .3s}
.card:hover,.card:focus-visible{border-color:var(--gold)}
.card .ph img{transition:transform .6s ease}
.card:hover .ph img{transform:scale(1.06)}
.cap{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:34px 16px 14px;background:linear-gradient(transparent,rgba(10,10,10,.9))}
.cap b{font:400 .95rem "Josefin Sans",sans-serif;letter-spacing:.06em;color:var(--champ)}
.cap i{font:normal 600 .72rem "Josefin Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.zoom{position:absolute;top:12px;right:12px;z-index:3;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(201,162,74,.6);border-radius:3px;background:rgba(10,10,10,.6);color:var(--gold)}
/* foto con respaldo: si la imagen no existe, se ve el recuadro "Foto pendiente" */
.ph{display:block;position:relative;width:100%;height:100%;background:var(--sf) repeating-linear-gradient(135deg,transparent 0 14px,rgba(201,162,74,.07) 14px 15px)}
.ph::after{content:"Foto pendiente";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:400 .8rem "Josefin Sans",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--bd)}
.ph img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover}
.th .ph::after{content:""}
/* popup */
.lb{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.88);opacity:0;transition:opacity .25s}
.lb[hidden]{display:none!important}
.lb.on{opacity:1}
.panel{position:relative;width:100%;max-width:940px;max-height:100%;overflow:auto;background:var(--sf);border:1px solid var(--bd);border-radius:4px;transform:scale(.96);transition:transform .25s}
.lb.on .panel{transform:none}
.stage{position:relative;aspect-ratio:4/3;max-height:62vh;width:100%;overflow:hidden;background:#000;touch-action:pan-y;user-select:none}
.track{display:flex;height:100%;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.slide{flex:0 0 100%;height:100%}
.slide .ph img{object-fit:contain;background:#000}
.nav{position:absolute;top:50%;z-index:5;transform:translateY(-50%);width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(201,162,74,.6);border-radius:50%;background:rgba(10,10,10,.65);color:var(--champ);cursor:pointer}
.nav:hover{border-color:var(--gold);color:var(--goldh)}
.prev{left:12px}.next{right:12px}
.x{position:absolute;top:12px;right:12px;z-index:6;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(201,162,74,.6);border-radius:50%;background:rgba(10,10,10,.75);color:var(--champ);cursor:pointer}
.x:hover{border-color:var(--gold);color:var(--goldh)}
.n{position:absolute;left:12px;top:12px;z-index:5;padding:4px 12px;border-radius:999px;background:rgba(10,10,10,.7);font:400 .8rem "Josefin Sans",sans-serif;letter-spacing:.14em;color:var(--champ)}
.ths{display:flex;gap:10px;padding:14px 20px 0;overflow-x:auto}
.th{flex:0 0 auto;width:72px;height:54px;padding:0;border:1px solid rgba(131,112,63,.6);border-radius:3px;overflow:hidden;cursor:pointer;opacity:.6;background:none}
.th.act{opacity:1;border-color:var(--gold)}
.info{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:16px 20px 20px}
.info h3{font-size:1.3rem;letter-spacing:.04em}
.info p{color:var(--sec);font-size:.95rem}
