@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";:root{--bg: #0f0f12;--surface: #18181c;--border: #2a2a30;--text: #f4f4f5;--muted: #a1a1aa;--accent: #22c55e;--accent-hover: #16a34a;--danger: #ef4444;--radius: 12px;--font-sans: "DM Sans", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;border-radius:var(--radius)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;top:-100px;left:.5rem;z-index:10000;padding:.75rem 1rem;background:var(--accent);color:#fff;font-weight:600;border-radius:var(--radius);transition:top .2s ease}.skip-link:focus{top:.5rem}.page-state-skeleton .skeleton-line{background:linear-gradient(90deg,var(--border) 0%,var(--surface) 50%,var(--border) 100%);background-size:200% 100%;animation:skeleton-shine 1.2s ease-in-out infinite;border-radius:var(--radius)}@keyframes skeleton-shine{0%{background-position:200% 0}to{background-position:-200% 0}}input,textarea{font-family:inherit;font-size:1rem}.container{max-width:1100px;margin:0 auto;padding:0 1.25rem}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:600;transition:background .2s,transform .1s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}@media (min-width: 769px){.card:hover{box-shadow:0 8px 24px #00000040;transform:translateY(-2px)}}.admin-dashboard .admin-nav-link:hover{color:var(--text);background:#ffffff0a;text-decoration:none}.admin-dashboard aside{box-shadow:2px 0 12px #00000026}@media (max-width: 768px){.admin-dashboard{flex-direction:column}.admin-dashboard aside{width:100%;min-width:100%;flex-direction:row;flex-wrap:wrap;padding:.5rem;gap:.5rem}.admin-dashboard aside>div:first-child{width:100%;padding:.5rem;border-bottom:none}.admin-dashboard aside nav{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem}.admin-dashboard aside nav>div{margin-bottom:0;flex:1 1 auto;min-width:140px}.admin-dashboard aside>div:last-child{display:none}}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast{cursor:pointer}.toast-info{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)}@keyframes bibliotheque-carousel-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}.bibliotheque-carousel{overflow:hidden;width:100%;margin:0 -1.25rem;padding:0 1.25rem}.bibliotheque-carousel-track{display:flex;gap:1rem;width:max-content;animation:bibliotheque-carousel-scroll 80s linear infinite}.bibliotheque-carousel-track:hover{animation-play-state:paused}.bibliotheque-carousel-card-wrap{flex:0 0 200px;width:200px}@media (max-width: 600px){.bibliotheque-carousel-card-wrap{flex:0 0 160px;width:160px}}@media (max-width: 768px){.header-nav{display:none!important}.header-menu-btn{display:flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px}}.header-mobile-drawer{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 4px 12px #0003}.header-mobile-drawer a,.header-mobile-drawer .btn{min-height:44px;display:flex;align-items:center;padding:.75rem 1rem}@media (max-width: 640px){.cart-item{flex-direction:column!important;align-items:stretch!important}.cart-item-name{margin-bottom:.25rem}.cart-item-actions{flex-wrap:wrap;justify-content:space-between;align-items:center}.cart-item-actions input{min-height:44px;min-width:4rem}}
