/* TCGP Collection — Collectibles V7 */
.collectibles-page{padding:34px 0 56px}
.collectibles-hero{margin-bottom:22px}
.collectibles-hero h1{font-size:clamp(31px,4vw,46px);margin:0 0 8px}
.collectibles-hero p{max-width:900px}
.collectibles-search{display:flex;gap:10px;margin:18px 0}
.collectibles-search input{flex:1;min-width:0}
.collectibles-filter{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 28px}
.collectibles-filter a{padding:9px 13px;border:1px solid #dce2ec;border-radius:999px;background:#fff;text-decoration:none;font-weight:800;color:#334155}
.collectibles-filter a.is-active{background:#17233f;color:#fff;border-color:#17233f}
.collectibles-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px 16px}
.collectible-card{min-width:0}
.collectible-card-link{display:block;color:inherit;text-decoration:none}
.collectible-picture{aspect-ratio:1/1;border:1px solid #e2e7ef;border-radius:18px;background:#f7f8fb;padding:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:.18s ease}
.collectible-card-link:hover .collectible-picture{transform:translateY(-2px);box-shadow:0 12px 30px rgba(28,42,72,.10);border-color:#cad5e6}
.collectible-picture img{width:100%;height:100%;object-fit:contain}
.collectible-card h2{font-size:16px;line-height:1.25;margin:10px 0 5px}
.collectible-type{font-size:12px;font-weight:800;color:#64748b;margin-top:7px}
.collectible-acq{font-size:13px;color:#64748b;margin:6px 0}
.collectible-owned{margin-top:10px}
.collectible-owned button{width:100%;border:0;border-radius:11px;padding:9px 10px;font-weight:900;cursor:pointer;background:#e8edf7;color:#24324e}
.collectible-owned button.is-owned{background:#dff7e8;color:#116139}

/* Detail */
.collectible-detail{padding:34px 0 60px}
.collectible-back{display:inline-flex;margin-bottom:18px;text-decoration:none;font-weight:800;color:#53627e}
.collectible-detail-grid{display:grid;grid-template-columns:minmax(280px,430px) minmax(0,1fr);gap:42px;align-items:start}
.collectible-detail-visual{background:#f7f8fb;border:1px solid #e0e6ef;border-radius:26px;padding:28px;min-height:360px;display:flex;align-items:center;justify-content:center}
.collectible-detail-visual img{max-width:100%;max-height:520px;object-fit:contain}
.collectible-detail-kicker{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#60708d;font-weight:800;font-size:13px;margin:0 0 8px}
.collectible-detail h1{font-size:clamp(30px,4vw,48px);line-height:1.06;margin:0 0 12px}
.collectible-detail-theme{font-size:18px;color:#65728c;margin-bottom:18px}
.collectible-info-card{background:#fff;border:1px solid #e0e6ef;border-radius:20px;padding:20px;margin-top:18px;box-shadow:0 12px 36px rgba(23,35,63,.05)}
.collectible-info-card h2{font-size:20px;margin:0 0 14px}
.collectible-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.collectible-info-item{background:#f8f9fc;border-radius:14px;padding:13px 14px}
.collectible-info-item span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:#7b879e;margin-bottom:4px}
.collectible-info-item strong{display:block;color:#18233f}
.collectible-acquisition-list{display:grid;gap:12px}
.collectible-acquisition{border:1px solid #e2e7ef;border-radius:15px;padding:15px}
.collectible-acquisition h3{font-size:16px;margin:0 0 6px}
.collectible-acquisition p{margin:5px 0;color:#5f6e89}
.collectible-cost{font-weight:900;color:#18233f!important}
.collectible-detail-action{margin-top:20px;max-width:320px}

/* Home block */
.home-collectibles-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.home-collectible{display:block;text-decoration:none;color:inherit;border:1px solid #e2e7ef;border-radius:18px;background:#fff;overflow:hidden;transition:.18s ease}
.home-collectible:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(28,42,72,.10)}
.home-collectible-visual{aspect-ratio:1/1;background:#f7f8fb;padding:15px;display:flex;align-items:center;justify-content:center}
.home-collectible-visual img{width:100%;height:100%;object-fit:contain}
.home-collectible-copy{padding:13px 14px 15px}
.home-collectible-copy span{font-size:11px;text-transform:uppercase;font-weight:900;color:#76839b}
.home-collectible-copy strong{display:block;margin-top:4px;line-height:1.25}
.home-collectibles-categories{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.home-collectibles-categories a{border:1px solid #dfe5ee;background:#fff;border-radius:999px;padding:8px 12px;text-decoration:none;font-weight:800;color:#34425d}

@media(max-width:1050px){
 .collectibles-grid,.home-collectibles-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:820px){
 .collectibles-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .home-collectibles-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .collectible-detail-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
 .collectibles-grid,.home-collectibles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .collectibles-search{display:block}
 .collectibles-search button{width:100%;margin-top:8px}
 .collectible-info-grid{grid-template-columns:1fr}
}


/* ---------------------------------------------------------
   Fiche collectible — éléments associés au même événement
   --------------------------------------------------------- */
.collectible-related{
    margin-top:54px;
    padding-top:34px;
    border-top:1px solid rgba(104,117,139,.18);
}
.collectible-related-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:20px;
}
.collectible-related-head h2{
    margin:2px 0 7px;
    font-size:clamp(25px,3vw,34px);
    line-height:1.1;
}
.collectible-related-head p{
    margin:0;
    max-width:760px;
    color:#65728c;
}
.collectible-related-kicker{
    margin:0!important;
    color:#65728c!important;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.collectible-related-theme{
    flex:none;
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:8px 13px;
    border:1px solid #dce3ed;
    border-radius:999px;
    background:rgba(255,255,255,.76);
    color:#34425d;
    font-size:13px;
    font-weight:900;
}
.collectible-related-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px;
}
.collectible-related-card{
    display:block;
    min-width:0;
    overflow:hidden;
    border:1px solid #e0e6ef;
    border-radius:19px;
    background:rgba(255,255,255,.86);
    color:inherit;
    text-decoration:none;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.collectible-related-card:hover{
    transform:translateY(-3px);
    border-color:#cbd6e6;
    box-shadow:0 14px 34px rgba(23,35,63,.10);
}
.collectible-related-picture{
    aspect-ratio:1/1;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px;
    background:#f6f8fb;
}
.collectible-related-picture img{
    width:100%;
    height:100%;
    object-fit:contain;
}
.collectible-related-picture span{
    color:#8490a4;
    font-size:13px;
    font-weight:800;
}
.collectible-related-copy{
    padding:13px 14px 15px;
}
.collectible-related-copy span{
    display:block;
    margin-bottom:5px;
    color:#738099;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.035em;
}
.collectible-related-copy strong{
    display:block;
    color:#18233f;
    font-size:15px;
    line-height:1.25;
}

@media(max-width:1050px){
    .collectible-related-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:820px){
    .collectible-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .collectible-related-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
    .collectible-related{margin-top:38px;padding-top:26px}
    .collectible-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


.collectible-related-date,
.collectible-related-source{
    display:block;
    margin-top:7px;
    color:#68758b;
    font-size:11px;
    line-height:1.35;
}
.collectible-related-source{
    margin-top:3px;
    color:#8792a5;
}


/* V15 — zoom du visuel principal */
.collectible-zoom-trigger{
    position:relative;
    width:100%;
    height:100%;
    min-height:300px;
    padding:0;
    border:0;
    background:transparent;
    cursor:zoom-in;
    display:flex;
    align-items:center;
    justify-content:center;
}
.collectible-zoom-trigger img{
    max-width:100%;
    max-height:520px;
    object-fit:contain;
}
.collectible-zoom-hint{
    position:absolute;
    right:12px;
    bottom:12px;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(24,35,63,.88);
    color:#fff;
    font-size:12px;
    font-weight:900;
    opacity:0;
    transform:translateY(4px);
    transition:.18s ease;
}
.collectible-zoom-trigger:hover .collectible-zoom-hint,
.collectible-zoom-trigger:focus-visible .collectible-zoom-hint{
    opacity:1;
    transform:none;
}

.collectible-lightbox[hidden]{display:none}
.collectible-lightbox{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px;
}
.collectible-lightbox-backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    background:rgba(10,16,30,.88);
    cursor:zoom-out;
}
.collectible-lightbox-content{
    position:relative;
    z-index:2;
    margin:0;
    max-width:min(94vw,1200px);
    max-height:92vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
}
.collectible-lightbox-content img{
    display:block;
    max-width:100%;
    max-height:84vh;
    width:auto;
    height:auto;
    object-fit:contain;
    border-radius:18px;
    box-shadow:0 24px 70px rgba(0,0,0,.42);
}
.collectible-lightbox-content figcaption{
    color:#fff;
    font-size:14px;
    font-weight:800;
    text-align:center;
}
.collectible-lightbox-close{
    position:fixed;
    z-index:3;
    top:18px;
    right:22px;
    width:46px;
    height:46px;
    border:0;
    border-radius:50%;
    background:#fff;
    color:#18233f;
    font-size:31px;
    line-height:1;
    font-weight:400;
    cursor:pointer;
    box-shadow:0 8px 30px rgba(0,0,0,.24);
}
html.collectible-lightbox-open,
html.collectible-lightbox-open body{
    overflow:hidden;
}
@media(max-width:560px){
    .collectible-lightbox{padding:18px}
    .collectible-lightbox-close{top:12px;right:12px}
    .collectible-zoom-hint{opacity:1;transform:none}
}
