/* Validated vintage reference; every rule is confined to this route. */
#pc-vintage{--green:#203c30;--copper:#bb7144;--cream:#f8f5ef;--ink:#172d25;box-sizing:border-box;max-width:1200px;margin:auto;padding:55px 24px 90px;background:var(--cream);color:var(--ink);font:15px Arial,sans-serif}
#pc-vintage *{box-sizing:border-box}
#pc-vintage .eyebrow{color:var(--copper);letter-spacing:2.3px;font-size:11px;font-weight:700}
#pc-vintage h1{font:normal clamp(34px,4.3vw,54px) Georgia,serif;margin:12px 0}
#pc-vintage .intro{color:#65726b;line-height:1.6;margin:0 0 29px;max-width:650px}
#pc-vintage .toolbar{display:grid;grid-template-columns:2fr 1.3fr 1.3fr;gap:11px;align-items:center;margin:20px 0 14px}
#pc-vintage input,#pc-vintage select{height:45px;background:#fff;border:1px solid #d8dcd5;border-radius:7px;padding:0 13px;color:var(--ink);width:100%;min-width:0;font:inherit}
#pc-vintage .meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:25px 0 18px;font-size:13px;color:#647269}
#pc-vintage .gallery{min-height:0;height:auto;background:none;border:0;border-radius:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px}
#pc-vintage [hidden]{display:none!important}
#pc-vintage .card{background:#fff;border:1px solid #e7e5dc;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-width:0;box-shadow:0 5px 16px #172d2508;transition:transform .15s,box-shadow .15s}
#pc-vintage .card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #172d2515}
#pc-vintage .visual{height:240px;background:#e6e8df;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#647269;font-size:13px}
#pc-vintage .visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
#pc-vintage .visual.wide img{object-fit:contain}
#pc-vintage .content{padding:20px 19px 19px;display:flex;flex-direction:column;flex:1;overflow-wrap:anywhere}
#pc-vintage .category{color:var(--copper);font-size:10px;letter-spacing:1.4px;font-weight:800;text-transform:uppercase;margin:0 0 9px}
#pc-vintage .name{font:normal 23px/1.17 Georgia,serif;margin:0 0 11px;color:var(--green);min-height:54px}
#pc-vintage .desc{font-size:13px;line-height:1.6;color:#59675d;margin:0 0 24px;min-height:60px;white-space:pre-line}
#pc-vintage .tags{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 13px}
#pc-vintage .tag{border:1px solid #e7d5c8;border-radius:99px;padding:5px 8px;font-size:11px;color:#93613f;background:#fffaf6;text-decoration:none}
#pc-vintage .platform{font-size:12px;color:#68796e;margin:0 0 16px}
#pc-vintage .btn{margin-top:auto;text-align:center;display:block;background:var(--green);color:white;text-decoration:none;padding:13px 10px;border-radius:7px;font-weight:700;font-size:13px;border:0;cursor:pointer;width:100%;line-height:1.3}
#pc-vintage .btn:hover{background:#2e5945}
#pc-vintage .empty{padding:45px;background:white;border:1px solid #e7e5dc;border-radius:12px;text-align:center;color:#647269;line-height:1.7}
#pc-vintage .reset{border:0;background:transparent;color:#93613f;font:inherit;text-decoration:underline;cursor:pointer;padding:10px 0}
#pc-vintage .modal{max-width:530px;width:calc(100% - 36px);max-height:85vh;overflow:auto;background:#fffaf5;color:var(--ink);padding:35px;border:0;border-radius:15px;box-shadow:0 20px 70px #0004}
#pc-vintage .modal::backdrop{background:#0b1b16ae}
#pc-vintage .modal h2{font:normal 32px Georgia,serif;color:var(--green);margin:5px 0 12px}
#pc-vintage .close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:27px;cursor:pointer;color:var(--green)}
#pc-vintage .modal p{line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}
#pc-vintage .modal .visual{height:260px;margin:15px 0}
#pc-vintage :focus-visible{outline:3px solid #bb7144;outline-offset:3px}
@media(max-width:1050px){#pc-vintage .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}#pc-vintage .toolbar{grid-template-columns:1fr 1fr}}
@media(max-width:600px){#pc-vintage{padding:35px 16px 70px}#pc-vintage .gallery,#pc-vintage .toolbar{grid-template-columns:1fr}#pc-vintage .gallery .visual{height:270px}#pc-vintage .name,#pc-vintage .desc{min-height:0}#pc-vintage .modal{padding:35px 22px}}
@media(prefers-reduced-motion:reduce){#pc-vintage .card{transition:none}#pc-vintage .card:hover{transform:none}}

body:has(#pc-vintage){background:#f8f5ef}
