/* Amstrad Librairie : les couleurs se changent via les variables ci-dessous. */
.lcpc {
	--lcpc-text: #ddd;
	--lcpc-title: #fff;
	--lcpc-price: #f5a623;
	--lcpc-accent: #c00;
	--lcpc-accent-hover: #e00;
	--lcpc-border: #444;
	color: var(--lcpc-text);
	padding: 20px;
	box-sizing: border-box;
}
.lcpc a { text-decoration: none; }
.lcpc-fallback { padding-top: 30px; padding-bottom: 30px; }

/* Filtres */
.lcpc-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 0 0 20px; }
.lcpc-filters input[type="search"],
.lcpc-filters .lcpc-select { min-width: 180px; padding: 8px 10px; border: 1px solid var(--lcpc-border); background: transparent; color: var(--lcpc-text); }
.lcpc-filters .lcpc-select option { color: #222; }
.lcpc-filters .lcpc-select--fixed:disabled { opacity: 1; cursor: default; font-weight: bold; }
.lcpc-reset { color: var(--lcpc-text); text-decoration: underline !important; }
.lcpc-found { margin: 0 0 10px; opacity: .8; }
.lcpc-empty { padding: 30px 0; }

/* Liste */
.lcpc-card { display: flex; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--lcpc-border); }
.lcpc-cover { flex: 0 0 172px; max-width: 172px; }
.lcpc-cover img, .lcpc-fiche-cover img { display: block; width: 100%; height: auto; }
.lcpc-body { flex: 1; min-width: 0; }
.lcpc-title { margin: 0 0 6px; padding: 0; }
.lcpc-title a { color: var(--lcpc-title); }
.lcpc-price { color: var(--lcpc-price); font-weight: bold; margin: 6px 0; }
.lcpc-price-label { color: var(--lcpc-text); }
.lcpc-meta { margin: 6px 0; }
.lcpc-sep { opacity: .6; }
.lcpc-meta--list { margin: 10px 0 14px; }
.lcpc-meta--list span { display: block; margin: 3px 0; }
.lcpc-excerpt { margin: 10px 0; }
.lcpc-actions { margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }
.lcpc-btn {
	display: inline-block; padding: 8px 16px; background: var(--lcpc-accent); color: #fff !important;
	border: 1px solid var(--lcpc-accent); cursor: pointer; font-weight: bold; line-height: 1.4;
}
.lcpc-btn:hover { background: var(--lcpc-accent-hover); }
.lcpc-btn--ghost { background: transparent; border-color: #888; }
.lcpc-btn--ghost:hover { background: #444; }
.lcpc-count { font-weight: normal; opacity: .85; }

/* Fiche */
.lcpc-fiche { display: flex; gap: 30px; align-items: flex-start; }
.lcpc-fiche-cover { flex: 0 0 300px; max-width: 300px; }
.lcpc-fiche-body { flex: 1; min-width: 0; }
.lcpc-description { margin: 14px 0; }
.lcpc-total { margin-top: 10px; opacity: .7; font-size: .9em; }

/* Pagination */
.lcpc-pagination { display: flex; flex-wrap: wrap; gap: 6px; margin: 25px 0 0; }
.lcpc-pagination a, .lcpc-pagination span { padding: 6px 12px; border: 1px solid var(--lcpc-border); color: var(--lcpc-text); }
.lcpc-pagination .lcpc-current { background: var(--lcpc-accent); border-color: var(--lcpc-accent); color: #fff; }
.lcpc-pagination .lcpc-gap { border: 0; }

@media (max-width: 680px) {
	.lcpc-card, .lcpc-fiche { flex-direction: column; }
	.lcpc-cover, .lcpc-fiche-cover { flex-basis: auto; max-width: 220px; }
}

/* Mention discrète */
.lcpc-credit { margin-top: 24px; text-align: right; font-size: 11px; line-height: 1; }
.lcpc-credit a { color: var(--lcpc-text); opacity: .4; transition: opacity .2s; }
.lcpc-credit a:hover { opacity: .8; }
.lcpc-credit svg { vertical-align: -2px; }

/* Lien d'édition (administrateurs) */
.lcpc-edit { align-self: center; padding: 4px 10px; border: 1px dashed #888; font-size: 12px; opacity: .75; color: var(--lcpc-text); }
.lcpc-edit:hover { opacity: 1; background: #444; }

/* Étoiles (note moyenne) */
.lcpc-stars { position: relative; display: inline-block; line-height: 1; letter-spacing: 2px; white-space: nowrap; font-size: 16px; vertical-align: middle; }
.lcpc-stars::before { content: "★★★★★"; color: #555; }
.lcpc-stars::after { content: "★★★★★"; position: absolute; left: 0; top: 0; width: calc(var(--lcpc-rating, 0) / 5 * 100%); overflow: hidden; color: #f5a623; }
.lcpc-rating-line { margin: 6px 0; }
.lcpc-rating-num { margin-left: 4px; opacity: .85; font-size: .9em; }

/* Vote */
.lcpc-rate { margin: 14px 0; }
.lcpc-rate-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 4px; }
.lcpc-rate-stars { display: inline-flex; }
.lcpc-rate .lcpc-star { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 2px !important; margin: 0; font-size: 26px; line-height: 1; cursor: pointer; color: #555; }
.lcpc-rate .lcpc-star.is-on { color: #f5a623; }
.lcpc-rate .lcpc-star:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.lcpc-rate-msg { min-height: 1.2em; font-size: .9em; opacity: .85; margin-top: 4px; }

/* Top 5 */
.lcpc-top { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0 0 30px; }
.lcpc-top-col { border: 1px solid var(--lcpc-border); padding: 14px 16px; }
.lcpc-top-title { margin: 0 0 10px; padding: 0; font-size: 1.1em; color: var(--lcpc-title); }
.lcpc-top-list { list-style: none; margin: 0; padding: 0; counter-reset: lcpctop; }
.lcpc-top-item { display: flex; gap: 10px; align-items: center; margin: 0; padding: 8px 0; border-top: 1px solid var(--lcpc-border); counter-increment: lcpctop; }
.lcpc-top-item:first-child { border-top: 0; }
.lcpc-top-item::before { content: counter(lcpctop); flex: 0 0 18px; font-weight: bold; color: var(--lcpc-price); }
.lcpc-top-cover { flex: 0 0 44px; }
.lcpc-top-cover img { display: block; width: 44px; height: auto; }
.lcpc-top-name { color: var(--lcpc-title); font-weight: bold; line-height: 1.3; }
.lcpc-top-sub { font-size: .85em; opacity: .85; margin-top: 2px; }
.lcpc-top-empty { margin: 0; opacity: .7; }
@media (max-width: 900px) { .lcpc-top { grid-template-columns: 1fr; } }

/* Agrandissement couverture */
.lcpc-zoom { display: block; cursor: zoom-in; }
.lcpc-lightbox { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 999999; background: rgba(0,0,0,.88); display: flex; align-items: center; justify-content: center; padding: 20px; cursor: zoom-out; }
.lcpc-lightbox img { max-width: 100%; max-height: 100%; width: auto; height: auto; box-shadow: 0 0 30px rgba(0,0,0,.6); }
.lcpc-lightbox-close { position: absolute; top: 14px; right: 20px; color: #fff; font-size: 34px; line-height: 1; background: none; border: 0; cursor: pointer; }

/* Retour à la librairie (fiche) */
.lcpc-fiche-wrap { padding: 0; }
.lcpc-fiche-wrap .lcpc-back { margin: 0 0 14px; padding: 0 20px; }
/* Vote compact dans les listes */
.lcpc-rate--compact { margin: 6px 0; }
.lcpc-rate--compact .lcpc-rate-row { margin-top: 0; gap: 8px; }
.lcpc-rate--compact .lcpc-star { font-size: 20px; }
.lcpc-rate--compact .lcpc-rate-text { font-size: .9em; opacity: .85; }
.lcpc-rate--compact .lcpc-rate-msg { margin-top: 2px; }

/* Commentaires */
.lcpc-comments { margin: 28px 0 0; padding: 18px 24px 8px; border-top: 1px solid rgba(255,255,255,.15); box-sizing: border-box; }
@media (max-width: 600px) { .lcpc-comments { padding-left: 12px; padding-right: 12px; } }
.lcpc-comments-title, .lcpc-comments .comment-reply-title { font-size: 1.2em; margin: 0 0 12px; }
.lcpc-comment-list { list-style: none !important; margin: 0 0 20px !important; padding: 0 !important; }
.lcpc-comment-list > li, .lcpc-comment-list .lcpc-comment { list-style: none !important; margin-left: 0 !important; }
.lcpc-comment-list > li::marker, .lcpc-comment::marker { content: ''; font-size: 0; }
.lcpc-comment-list > li::before { content: none !important; }
.lcpc-comment { padding: 12px 14px; margin-bottom: 10px; background: rgba(255,255,255,.05); border-radius: 4px; }
.lcpc-comment-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.lcpc-comment-head img { border-radius: 50%; }
.lcpc-comment-date { opacity: .6; font-size: .85em; }
.lcpc-comment-text p { margin: 0 0 .6em; }
.lcpc-comments textarea, .lcpc-comments input[type=text], .lcpc-comments input[type=email], .lcpc-comments input[type=url] { width: 100%; box-sizing: border-box; }
.lcpc-comments .comment-form-cookies-consent { display: flex; gap: 8px; align-items: center; font-size: .85em; }

.lcpc-comment-edit { margin-left: auto; }

.lcpc-rate-comments { font-size: .9em; opacity: .85; text-decoration: none; white-space: nowrap; }
.lcpc-rate-comments:hover { text-decoration: underline; opacity: 1; }

.lcpc-rate-dl { font-size: .9em; opacity: .85; white-space: nowrap; }

/* Barre d'administration, compteurs par catégorie */
.lcpc-adminbar { margin: 0 0 14px; display: flex; gap: 8px; flex-wrap: wrap; }
.lcpc-adminbar .lcpc-edit { align-self: auto; opacity: 1; padding: 6px 12px; font-size: 13px; text-decoration: none; }
.lcpc-found { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.lcpc-cats { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.lcpc-cat { padding: 2px 10px; border: 1px solid rgba(255,255,255,.25); border-radius: 12px; font-size: .9em; text-decoration: none; color: inherit; }
.lcpc-cat b { margin-left: 4px; color: #ffb000; }
.lcpc-cat:hover, .lcpc-cat.is-current { background: rgba(255,255,255,.12); }

.lcpc-shown { opacity: .75; }

.lcpc-top-more { margin: 12px 0 0; text-align: right; font-size: .9em; }
.lcpc-top-more a { text-decoration: none; color: #ffb000; }
.lcpc-top-more a:hover { text-decoration: underline; }

/* Bloc « document au hasard » (colonne de droite) */
.lcpc-random { padding: 12px; text-align: center; }
.lcpc-rnd-heading { margin: 0 0 10px; font-size: 1.1em; }
.lcpc-rnd-cover { display: block; max-width: 160px; margin: 0 auto 10px; }
.lcpc-rnd-cover img { display: block; width: 100%; height: auto; }
.lcpc-rnd-title { display: block; font-weight: 600; margin-bottom: 4px; }
.lcpc-rnd-info { opacity: .75; font-size: .85em; margin-bottom: 10px; }
.lcpc-rnd-go { margin-bottom: 8px; }
.lcpc-rnd-next { display: block; margin: 6px auto 0; background: none; border: 0; color: inherit; opacity: .75; cursor: pointer; font-size: .85em; }
.lcpc-rnd-next:hover { opacity: 1; text-decoration: underline; }

/* Favoris */
.lcpc-fav { background: transparent; border: 1px solid rgba(255,255,255,.35); color: inherit; padding: 8px 14px; font: inherit; font-size: 13px; cursor: pointer; align-self: center; }
.lcpc-fav:hover { border-color: #ff5a6e; }
.lcpc-fav.is-on { border-color: #ff5a6e; color: #ff5a6e; }
.lcpc-fav-heart { font-size: 1.1em; }
.lcpc-fav-row { margin: 10px 0; }
.lcpc-favlink { margin: 0 0 12px; text-align: right; }
.lcpc-favlink a { text-decoration: none; color: #ff5a6e; }
.lcpc-favs-note { opacity: .65; font-size: .85em; margin-top: 16px; }

/* ===== Grille multi-colonnes (page principale) ===== */
.lcpc-grid { display: grid; grid-template-columns: repeat(var(--lcpc-cols, 4), minmax(0, 1fr)); gap: 18px; margin: 10px 0 0; }
@media (max-width: 1000px) { .lcpc-grid { grid-template-columns: repeat(min(var(--lcpc-cols, 4), 3), minmax(0, 1fr)); } }
@media (max-width: 680px)  { .lcpc-grid { grid-template-columns: repeat(min(var(--lcpc-cols, 4), 2), minmax(0, 1fr)); } }
@media (max-width: 460px)  { .lcpc-grid { grid-template-columns: 1fr; } }
.lcpc-grid .lcpc-card { display: flex; flex-direction: column; gap: 0; padding: 0; border: 1px solid var(--lcpc-border); border-bottom: 1px solid var(--lcpc-border); border-radius: 8px; overflow: hidden; background: rgba(255,255,255,.03); }
.lcpc-grid .lcpc-cover { flex: 0 0 auto; max-width: none; width: 100%; aspect-ratio: 4/3; background: #0c1116; display: flex; align-items: center; justify-content: center; }
.lcpc-grid .lcpc-cover img { width: 100%; height: 100%; object-fit: contain; image-rendering: pixelated; }
.lcpc-grid .lcpc-noimg { color: #5b6472; font-size: .8em; }
.lcpc-grid .lcpc-body { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 4px; }
.lcpc-grid .lcpc-title { font-size: .95em; margin: 0; }
.lcpc-grid .lcpc-meta { font-size: .82em; opacity: .85; margin: 2px 0; }
.lcpc-grid .lcpc-meta span { display: inline; }
.lcpc-grid .lcpc-actions { margin-top: 8px; gap: 6px; }
.lcpc-grid .lcpc-actions .lcpc-btn { padding: 5px 10px; font-size: .8em; }
.lcpc-grid .lcpc-actions .lcpc-fav { padding: 5px 10px; font-size: .78em; }
.lcpc-dl-tags { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 6px; }
.lcpc-dl-tag { font-size: .72em; padding: 2px 7px; border: 1px solid var(--lcpc-accent); color: #fff; border-radius: 10px; }
/* galerie captures + documents sur la fiche */
.lcpc-shots { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px,1fr)); gap: 8px; margin-top: 10px; }
.lcpc-shots img { width: 100%; border: 1px solid var(--lcpc-border); image-rendering: pixelated; }
.lcpc-docs { margin: 14px 0; }
.lcpc-docs h2 { font-size: 1.05em; margin: 0 0 6px; }
.lcpc-doc-link { display: inline-block; margin: 0 8px 6px 0; padding: 5px 10px; border: 1px solid var(--lcpc-border); border-radius: 6px; color: var(--lcpc-text); }
.lcpc-doc-link:hover { background: #444; }
.lcpc-infos-table { width: 100%; border-collapse: collapse; margin: 8px 0 14px; }
.lcpc-infos-table th { text-align: left; opacity: .7; font-weight: 600; padding: 3px 10px 3px 0; vertical-align: top; white-space: nowrap; }
.lcpc-blocked { padding: 8px 12px; background: rgba(200,40,40,.15); border: 1px solid rgba(200,40,40,.4); border-radius: 6px; }
