/* ==========================================================================
   LES ARCHIVES CHIMÉRIQUES — THEME FANTASY / ARCHIVES CODEX (VANILLA CSS)
   ========================================================================== */

:root {
	--archim-bg-main: #0a0e17;
	--archim-bg-card: #121927;
	--archim-bg-card-hover: #172235;
	--archim-bg-elevated: #1a253a;
	--archim-bg-input: #0e1420;
	--archim-border: rgba(255, 255, 255, 0.08);
	--archim-border-gold: rgba(217, 119, 6, 0.35);
	--archim-border-glow: rgba(245, 158, 11, 0.6);

	--archim-text-primary: #f8fafc;
	--archim-text-secondary: #94a3b8;
	--archim-text-muted: #64748b;
	--archim-text-gold: #f59e0b;

	--archim-gold-gradient: linear-gradient(135deg, #d97706 0%, #f59e0b 50%, #fbbf24 100%);
	--archim-arcane-gradient: linear-gradient(135deg, #4f46e5 0%, #6366f1 50%, #06b6d4 100%);
	--archim-emerald-gradient: linear-gradient(135deg, #059669 0%, #10b981 100%);
	--archim-dark-gradient: linear-gradient(180deg, #121927 0%, #0a0e17 100%);

	--archim-radius-sm: 6px;
	--archim-radius-md: 10px;
	--archim-radius-lg: 16px;
	--archim-radius-xl: 22px;

	--archim-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.2);
	--archim-shadow-md: 0 6px 16px rgba(0, 0, 0, 0.35);
	--archim-shadow-glow: 0 0 25px rgba(245, 158, 11, 0.18);
	--archim-shadow-arcane: 0 0 25px rgba(99, 102, 241, 0.2);

	--archim-font-title: 'Cinzel', Georgia, serif;
	--archim-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Wrapper Global */
.archim-wrapper {
	font-family: var(--archim-font-body);
	color: var(--archim-text-primary);
	line-height: 1.6;
	box-sizing: border-box;
	margin: 20px 0;
	width: 100%;
	max-width: 100%;
}
.archim-wrapper *, .archim-wrapper *::before, .archim-wrapper *::after {
	box-sizing: border-box;
}

/* Conteneur principal du catalogue (position:relative pour le badge de version) */
.archim-catalog-container {
	position: relative;
}

/* Badge de version en haut à droite */
.archim-version-badge {
	position: absolute;
	top: 0;
	right: 0;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	background: rgba(10, 14, 23, 0.75);
	border: 1px solid var(--archim-border);
	border-radius: var(--archim-radius-sm);
	font-size: 11px;
	font-family: var(--archim-font-body);
	color: var(--archim-text-muted);
	cursor: default;
	user-select: none;
	backdrop-filter: blur(6px);
	transition: color 0.2s, border-color 0.2s;
	z-index: 10;
}
.archim-version-badge:hover {
	color: var(--archim-text-gold);
	border-color: var(--archim-border-gold);
}
.archim-version-badge-icon {
	font-size: 11px;
	opacity: 0.7;
	filter: grayscale(0.4);
}
.archim-version-badge-label {
	font-weight: 600;
	letter-spacing: 0.3px;
}


/* Onglets Principaux Supérieurs (Tout le Catalogue / Ma Collection) */
.archim-main-tabs {
	display: flex;
	gap: 12px;
	margin-bottom: 22px;
	border-bottom: 2px solid var(--archim-border);
	padding-bottom: 12px;
	flex-wrap: wrap;
}
.archim-main-tab {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 24px;
	background: var(--archim-bg-card);
	border: 1px solid var(--archim-border);
	border-radius: var(--archim-radius-lg);
	color: var(--archim-text-secondary);
	font-size: 15px;
	font-weight: 600;
	font-family: var(--archim-font-title);
	cursor: pointer;
	transition: all 0.25s ease;
}
.archim-main-tab:hover {
	background: var(--archim-bg-card-hover);
	border-color: var(--archim-border-gold);
	color: #fff;
	transform: translateY(-1px);
}
.archim-main-tab.active {
	background: linear-gradient(135deg, rgba(217, 119, 6, 0.18) 0%, rgba(18, 25, 39, 0.95) 100%);
	border-color: var(--archim-text-gold);
	color: var(--archim-text-gold);
	box-shadow: 0 4px 15px rgba(245, 158, 11, 0.15);
}
.archim-main-tab .tab-icon {
	font-size: 18px;
}
.archim-main-tab .tab-badge {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	padding: 2px 8px;
	border-radius: 12px;
	font-size: 12px;
	font-family: var(--archim-font-body);
}
.archim-main-tab.active .tab-badge {
	background: var(--archim-gold-gradient);
	color: #111827;
	font-weight: 700;
}
.archim-main-tab.archim-tab-librarian {
	border-color: rgba(99, 102, 241, 0.35);
}
.archim-main-tab.archim-tab-librarian:hover {
	border-color: rgba(99, 102, 241, 0.8);
}
.archim-main-tab.archim-tab-librarian.active {
	background: linear-gradient(135deg, rgba(79, 70, 229, 0.2) 0%, rgba(18, 25, 39, 0.95) 100%);
	border-color: #818cf8;
	color: #a5b4fc;
	box-shadow: 0 4px 15px rgba(99, 102, 241, 0.2);
}
.archim-main-tab.archim-tab-librarian.active .tab-badge {
	background: var(--archim-arcane-gradient);
	color: #fff;
}

/* Sous-onglets de Taxonomies */
.archim-sub-tabs {
	display: flex;
	gap: 10px;
	margin-top: 18px;
	flex-wrap: wrap;
}
.archim-sub-tab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid var(--archim-border);
	border-radius: var(--archim-radius-md);
	color: var(--archim-text-secondary);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
}
.archim-sub-tab:hover {
	background: rgba(255, 255, 255, 0.06);
	border-color: var(--archim-border-gold);
	color: #fff;
}
.archim-sub-tab.active {
	background: rgba(99, 102, 241, 0.15);
	border-color: #818cf8;
	color: #c7d2fe;
}

/* Panneaux de Taxonomies & Formulaires */
.archim-tax-panel {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.archim-tax-add-card {
	background: var(--archim-bg-card);
	border: 1px solid var(--archim-border-gold);
	border-radius: var(--archim-radius-lg);
	padding: 22px 24px;
	box-shadow: var(--archim-shadow-sm);
}

/* Toast Notice */
.archim-toast-notice {
	padding: 14px 22px;
	margin-bottom: 22px;
	border-radius: var(--archim-radius-md);
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	animation: archim-fadeIn 0.3s ease;
}
.archim-toast-notice.success {
	background: rgba(16, 185, 129, 0.15);
	border: 1px solid rgba(16, 185, 129, 0.4);
}
.archim-toast-notice.error {
	background: rgba(239, 68, 68, 0.15);
	border: 1px solid rgba(239, 68, 68, 0.4);
}
@keyframes archim-fadeIn {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Actions Espace Membre (Import CSV & Proposer) */
.archim-collection-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

/* Infobulle Tooltip */
.archim-tooltip-wrapper {
	position: relative;
	display: inline-block;
}
.archim-info-badge {
	margin-left: 4px;
	font-size: 12px;
	opacity: 0.8;
}
.archim-tooltip {
	visibility: hidden;
	opacity: 0;
	position: absolute;
	top: 115%;
	left: 50%;
	transform: translateX(-50%);
	background: #0f172a;
	border: 1px solid var(--archim-border-gold);
	border-radius: var(--archim-radius-md);
	padding: 14px 16px;
	width: 320px;
	box-shadow: 0 10px 25px rgba(0,0,0,0.6);
	z-index: 999;
	transition: all 0.2s ease;
	pointer-events: none;
	font-size: 12px;
	line-height: 1.5;
	color: var(--archim-text-primary);
}
.archim-tooltip strong {
	color: var(--archim-text-gold);
	display: block;
	margin-bottom: 4px;
}
.archim-tooltip p {
	margin: 0 0 6px 0;
	color: var(--archim-text-secondary);
}
.archim-tooltip-hint {
	display: block;
	color: #38bdf8;
	font-size: 11px;
}
.archim-tooltip-wrapper:hover .archim-tooltip {
	visibility: visible;
	opacity: 1;
	top: 125%;
}

/* Dropzone & Import Modal */
.archim-import-intro {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--archim-border);
	border-radius: var(--archim-radius-md);
	padding: 16px;
	margin-bottom: 20px;
	font-size: 13px;
	color: var(--archim-text-secondary);
}
.archim-dropzone {
	border: 2px dashed var(--archim-border-gold);
	border-radius: var(--archim-radius-lg);
	background: rgba(245, 158, 11, 0.03);
	padding: 36px 20px;
	text-align: center;
	cursor: pointer;
	transition: all 0.2s ease;
}
.archim-dropzone:hover {
	background: rgba(245, 158, 11, 0.08);
	border-color: #fbbf24;
}
.archim-dropzone-label {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}
.archim-dropzone-icon {
	font-size: 40px;
}
.archim-dropzone-text {
	font-size: 14px;
	color: #fff;
	font-weight: 500;
}

/* Loader & Placeholders */
.archim-loader-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 60px 20px;
	background: var(--archim-bg-card);
	border: 1px solid var(--archim-border);
	border-radius: var(--archim-radius-lg);
	text-align: center;
	color: var(--archim-text-secondary);
}
.archim-spinner {
	width: 44px;
	height: 44px;
	border: 3px solid rgba(245, 158, 11, 0.15);
	border-top-color: var(--archim-text-gold);
	border-radius: 50%;
	animation: archim-spin 0.9s cubic-bezier(0.6, 0.2, 0.4, 0.8) infinite;
	margin-bottom: 16px;
}
@keyframes archim-spin {
	to { transform: rotate(360deg); }
}

/* En-tête / Hero du Catalogue */
.archim-hero {
	background: linear-gradient(180deg, rgba(18, 25, 39, 0.95) 0%, rgba(10, 14, 23, 0.98) 100%),
	            radial-gradient(circle at top right, rgba(217, 119, 6, 0.12), transparent 50%),
	            radial-gradient(circle at bottom left, rgba(99, 102, 241, 0.1), transparent 50%);
	border: 1px solid var(--archim-border-gold);
	border-radius: var(--archim-radius-xl);
	padding: 32px 28px;
	margin-bottom: 28px;
	box-shadow: var(--archim-shadow-md), var(--archim-shadow-glow);
	position: relative;
	overflow: hidden;
}
.archim-hero::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--archim-gold-gradient);
}
.archim-hero-header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
}

/* Grille de statistiques pour les visiteurs non connectés */
.archim-guest-stats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 16px;
	margin: 24px 0;
}
.archim-guest-stat-card {
	background: var(--archim-bg-input);
	border: 1px solid var(--archim-border);
	border-radius: var(--archim-radius-lg);
	padding: 20px 16px;
	text-align: center;
	transition: all 0.25s ease;
}
.archim-guest-stat-card:hover {
	border-color: var(--archim-border-gold);
	transform: translateY(-2px);
}
.archim-guest-stat-card.highlight {
	border-color: rgba(245, 158, 11, 0.4);
	background: rgba(245, 158, 11, 0.06);
}
.archim-guest-stat-num {
	font-size: 32px;
	font-weight: 800;
	color: #fff;
	line-height: 1.1;
	margin-bottom: 6px;
}
.archim-guest-stat-card.highlight .archim-guest-stat-num {
	color: var(--archim-text-gold);
}
.archim-guest-stat-lbl {
	font-size: 12px;
	font-weight: 600;
	color: var(--archim-text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.archim-guest-banner {
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid var(--archim-border);
	border-radius: var(--archim-radius-lg);
	padding: 24px 28px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 10px;
}
.archim-guest-banner.archim-guest-banner-centered {
	flex-direction: column;
	text-align: center;
	justify-content: center;
	gap: 20px;
	padding: 28px 24px;
}
.archim-guest-banner-text strong {
	display: block;
	color: var(--archim-text-gold);
	font-size: 16px;
	margin-bottom: 6px;
}
.archim-guest-banner-text p {
	margin: 0;
	color: var(--archim-text-secondary);
	font-size: 14px;
	line-height: 1.6;
	max-width: 680px;
}
.archim-guest-banner-action {
	display: flex;
	justify-content: center;
	width: 100%;
}
.archim-btn-lg {
	padding: 12px 32px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.5px;
}
.archim-hero-title-group h1, .archim-hero-title-group h2 {
	font-family: var(--archim-font-title);
	font-size: 28px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 6px 0;
	display: flex;
	align-items: center;
	gap: 12px;
	letter-spacing: 0.5px;
}
.archim-hero-title-group h1 span.icon, .archim-hero-title-group h2 span.icon {
	color: var(--archim-text-gold);
	font-size: 26px;
}
.archim-hero-subtitle {
	color: var(--archim-text-secondary);
	font-size: 14px;
	margin: 0;
}

/* Boutons d'Action */
.archim-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 18px;
	font-size: 13px;
	font-weight: 600;
	border-radius: var(--archim-radius-md);
	cursor: pointer;
	transition: all 0.2s ease;
	text-decoration: none;
	border: 1px solid transparent;
	outline: none;
}
.archim-btn-primary {
	background: var(--archim-gold-gradient);
	color: #111827;
	box-shadow: 0 2px 10px rgba(245, 158, 11, 0.3);
}
.archim-btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(245, 158, 11, 0.45);
	color: #000;
}
.archim-btn-secondary {
	background: rgba(255, 255, 255, 0.05);
	color: var(--archim-text-primary);
	border-color: var(--archim-border);
}
.archim-btn-secondary:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: var(--archim-border-gold);
	color: #fff;
}
.archim-btn-sm {
	padding: 6px 12px;
	font-size: 12px;
}
.archim-btn-danger {
	background: rgba(239, 68, 68, 0.15);
	color: #f87171;
	border-color: rgba(239, 68, 68, 0.3);
}
.archim-btn-danger:hover {
	background: rgba(239, 68, 68, 0.25);
}

/* Barre de Recherche & Contrôles */
.archim-search-bar {
	position: relative;
	margin-bottom: 20px;
}
.archim-search-input {
	width: 100%;
	background: var(--archim-bg-input);
	border: 1px solid var(--archim-border);
	border-radius: var(--archim-radius-lg);
	padding: 14px 20px 14px 46px;
	color: #fff;
	font-size: 15px;
	transition: all 0.25s ease;
	outline: none;
}
.archim-search-input:focus {
	border-color: var(--archim-text-gold);
	box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15), var(--archim-shadow-glow);
}
.archim-search-icon {
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--archim-text-muted);
	font-size: 18px;
	pointer-events: none;
}
.archim-search-clear {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	color: var(--archim-text-muted);
	font-size: 18px;
	cursor: pointer;
}
.archim-search-clear:hover {
	color: #fff;
}

/* Filtres & Catégories */
.archim-filters-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}
.archim-category-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.archim-category-tab {
	background: var(--archim-bg-card);
	border: 1px solid var(--archim-border);
	color: var(--archim-text-secondary);
	padding: 8px 16px;
	border-radius: 30px;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s ease;
}
.archim-category-tab:hover {
	color: #fff;
	border-color: var(--archim-border-gold);
}
.archim-category-tab.active {
	background: rgba(245, 158, 11, 0.12);
	border-color: var(--archim-text-gold);
	color: var(--archim-text-gold);
	box-shadow: 0 0 12px rgba(245, 158, 11, 0.15);
}

.archim-select-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.archim-select {
	background: var(--archim-bg-input);
	border: 1px solid var(--archim-border);
	border-radius: var(--archim-radius-md);
	color: var(--archim-text-primary);
	padding: 8px 14px;
	font-size: 13px;
	outline: none;
	cursor: pointer;
}
.archim-select:focus {
	border-color: var(--archim-text-gold);
}

/* Vue Bascule (Grid / Table) */
.archim-view-toggles {
	display: flex;
	background: var(--archim-bg-input);
	border: 1px solid var(--archim-border);
	border-radius: var(--archim-radius-md);
	padding: 2px;
}
.archim-view-btn {
	background: transparent;
	border: none;
	color: var(--archim-text-muted);
	padding: 6px 10px;
	border-radius: var(--archim-radius-sm);
	cursor: pointer;
	font-size: 14px;
}
.archim-view-btn.active {
	background: rgba(255, 255, 255, 0.1);
	color: var(--archim-text-gold);
}

/* Grille des Œuvres */
.archim-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 22px;
	margin-top: 24px;
}

/* Carte d'Œuvre */
.archim-card {
	background: var(--archim-bg-card);
	border: 1px solid var(--archim-border);
	border-radius: var(--archim-radius-lg);
	overflow: hidden;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	display: flex;
	flex-direction: column;
	position: relative;
	box-shadow: var(--archim-shadow-sm);
}
.archim-card:hover {
	transform: translateY(-4px);
	border-color: var(--archim-border-gold);
	box-shadow: var(--archim-shadow-md), var(--archim-shadow-glow);
	background: var(--archim-bg-card-hover);
}

/* Bannière / Couverture de Carte */
.archim-card-banner {
	height: 140px;
	background: linear-gradient(135deg, #1e1b4b 0%, #172554 50%, #0f172a 100%);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.archim-card-banner-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.75;
	transition: transform 0.3s ease;
}
.archim-card:hover .archim-card-banner-img {
	transform: scale(1.04);
}
.archim-card-banner-fallback {
	font-size: 48px;
	opacity: 0.3;
	color: var(--archim-text-gold);
}
.archim-card-category-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 3px 10px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	background: rgba(10, 14, 23, 0.85);
	backdrop-filter: blur(8px);
	border: 1px solid var(--archim-border);
	color: #fff;
}
.archim-card-category-badge.jdr {
	border-color: rgba(99, 102, 241, 0.5);
	color: #818cf8;
}
.archim-card-category-badge.litterature {
	border-color: rgba(245, 158, 11, 0.5);
	color: #fbbf24;
}
.archim-card-category-badge.creation_maison {
	border-color: rgba(16, 185, 129, 0.5);
	color: #34d399;
}

/* Corps de Carte */
.archim-card-body {
	padding: 18px 20px;
	flex: 1;
	display: flex;
	flex-direction: column;
}
.archim-card-title {
	font-family: var(--archim-font-title);
	font-size: 17px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 6px 0;
	line-height: 1.35;
}
.archim-card-author {
	font-size: 13px;
	color: var(--archim-text-gold);
	margin-bottom: 12px;
}
.archim-card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 14px;
}
.archim-tag {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--archim-border);
	color: var(--archim-text-secondary);
	padding: 2px 8px;
	border-radius: var(--archim-radius-sm);
	font-size: 11px;
}

/* Badge de Disponibilité Associative */
.archim-availability-badge {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: rgba(245, 158, 11, 0.08);
	border: 1px solid rgba(245, 158, 11, 0.25);
	border-radius: var(--archim-radius-md);
	padding: 8px 12px;
	margin-top: auto;
	margin-bottom: 14px;
	font-size: 12px;
}
.archim-availability-badge.available {
	background: rgba(16, 185, 129, 0.08);
	border-color: rgba(16, 185, 129, 0.3);
	color: #34d399;
}
.archim-availability-badge.none {
	background: rgba(100, 116, 139, 0.08);
	border-color: rgba(100, 116, 139, 0.2);
	color: var(--archim-text-muted);
}
.archim-availability-count {
	font-weight: 700;
	font-size: 13px;
}

/* Actions de Carte */
.archim-card-actions {
	display: flex;
	gap: 8px;
}

/* Modale & Popups */
.archim-modal-backdrop {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(5, 8, 15, 0.85);
	backdrop-filter: blur(8px);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 99999;
	padding: 20px;
}
.archim-modal {
	background: var(--archim-bg-card);
	border: 1px solid var(--archim-border-gold);
	border-radius: var(--archim-radius-xl);
	width: 100%;
	max-width: 620px;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.7), var(--archim-shadow-glow);
	position: relative;
	animation: archim-modal-in 0.25s ease;
}
@keyframes archim-modal-in {
	from { opacity: 0; transform: scale(0.96) translateY(10px); }
	to { opacity: 1; transform: scale(1) translateY(0); }
}
.archim-modal-header {
	padding: 24px 28px 16px;
	border-bottom: 1px solid var(--archim-border);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.archim-modal-title {
	font-family: var(--archim-font-title);
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	margin: 0;
}
.archim-modal-close {
	background: transparent;
	border: none;
	color: var(--archim-text-muted);
	font-size: 24px;
	cursor: pointer;
	line-height: 1;
}
.archim-modal-close:hover {
	color: #fff;
}
.archim-modal-body {
	padding: 24px 28px;
}
.archim-modal-footer {
	padding: 16px 28px 24px;
	border-top: 1px solid var(--archim-border);
	display: flex;
	justify-content: flex-end;
	gap: 12px;
}

/* Formulaires */
.archim-form-group {
	margin-bottom: 18px;
}
.archim-form-label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--archim-text-secondary);
	margin-bottom: 6px;
}
.archim-form-input, .archim-form-textarea, .archim-form-select {
	width: 100%;
	background: var(--archim-bg-input);
	border: 1px solid var(--archim-border);
	border-radius: var(--archim-radius-md);
	padding: 10px 14px;
	color: #fff;
	font-size: 14px;
	outline: none;
	transition: border-color 0.2s ease;
}
.archim-form-input:focus, .archim-form-textarea:focus, .archim-form-select:focus {
	border-color: var(--archim-text-gold);
}
.archim-form-textarea {
	resize: vertical;
	min-height: 90px;
}
.archim-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

/* Alerte Doublon en Direct */
.archim-duplicate-alert {
	background: rgba(245, 158, 11, 0.1);
	border: 1px solid var(--archim-border-gold);
	border-radius: var(--archim-radius-md);
	padding: 14px 16px;
	margin-bottom: 20px;
	animation: archim-fade-in 0.2s ease;
}
.archim-duplicate-title {
	font-weight: 700;
	color: var(--archim-text-gold);
	font-size: 13px;
	margin-bottom: 6px;
	display: flex;
	align-items: center;
	gap: 6px;
}
.archim-duplicate-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: rgba(0, 0, 0, 0.25);
	padding: 8px 12px;
	border-radius: var(--archim-radius-sm);
	margin-top: 6px;
	font-size: 12px;
}

/* Espace Personnel (Codex Membre) */
.archim-member-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
	margin-bottom: 24px;
}
.archim-member-stat-box {
	background: var(--archim-bg-card);
	border: 1px solid var(--archim-border);
	border-radius: var(--archim-radius-lg);
	padding: 16px 20px;
	display: flex;
	align-items: center;
	gap: 16px;
}
.archim-member-stat-icon {
	width: 44px;
	height: 44px;
	border-radius: var(--archim-radius-md);
	background: rgba(245, 158, 11, 0.12);
	color: var(--archim-text-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
}
.archim-member-stat-val {
	font-size: 22px;
	font-weight: 800;
	color: #fff;
	line-height: 1;
}
.archim-member-stat-lbl {
	font-size: 12px;
	color: var(--archim-text-secondary);
	margin-top: 4px;
}

/* Liste des Exemplaires du Membre */
.archim-possession-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--archim-bg-card);
	border: 1px solid var(--archim-border);
	border-radius: var(--archim-radius-lg);
	overflow: hidden;
	margin-top: 14px;
}
.archim-possession-table th {
	background: var(--archim-bg-elevated);
	padding: 12px 16px;
	text-align: left;
	font-size: 12px;
	font-weight: 600;
	color: var(--archim-text-secondary);
	text-transform: uppercase;
	border-bottom: 1px solid var(--archim-border);
}
.archim-possession-table td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--archim-border);
	font-size: 13px;
}
.archim-possession-table tr:last-child td {
	border-bottom: none;
}
.archim-possession-table tr:hover td {
	background: rgba(255, 255, 255, 0.02);
}

/* Chips d'état & de prêt */
.archim-chip {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 12px;
	font-size: 11px;
	font-weight: 600;
}
.archim-chip-loan-for_loan {
	background: rgba(16, 185, 129, 0.15);
	color: #34d399;
	border: 1px solid rgba(16, 185, 129, 0.3);
}
.archim-chip-loan-on_site_only {
	background: rgba(245, 158, 11, 0.15);
	color: #fbbf24;
	border: 1px solid rgba(245, 158, 11, 0.3);
}
.archim-chip-loan-unavailable {
	background: rgba(148, 163, 184, 0.15);
	color: #94a3b8;
	border: 1px solid rgba(148, 163, 184, 0.3);
}

/* Responsive */
@media (max-width: 768px) {
	.archim-hero {
		padding: 22px 18px;
	}
	.archim-hero-header {
		flex-direction: column;
		align-items: flex-start;
	}
	.archim-grid {
		grid-template-columns: 1fr;
	}
	.archim-form-row {
		grid-template-columns: 1fr;
	}
	.archim-possession-table {
		display: block;
		overflow-x: auto;
	}
}
