:root { --gold:#C8A96E; --navy:#1A2744; --navy-dark:#0D1628; --cream:#FAF7F2; }
body { font-family:'DM Sans',sans-serif; background:var(--cream); color:var(--navy); }
h1,h2,h3,h4 { font-family:'Playfair Display',serif; }
.btn-gold { background:var(--gold); color:var(--navy-dark); font-weight:600; transition:all .3s; cursor:pointer; border:none; }
.btn-gold:hover:not(:disabled) { background:#b8954f; transform:translateY(-1px); }
.btn-gold:disabled { opacity:.6; cursor:not-allowed; }
.btn-outline { border:2px solid var(--gold); color:var(--gold); font-weight:600; background:transparent; transition:all .3s; cursor:pointer; }
.btn-outline:hover { background:var(--gold); color:var(--navy-dark); }
.cart-badge { background:var(--gold); color:var(--navy-dark); border-radius:50%; width:18px; height:18px; font-size:10px; font-weight:700; display:flex; align-items:center; justify-content:center; position:absolute; top:-6px; right:-6px; }
.book-card { transition:transform .3s,box-shadow .3s; background:white; border-radius:12px; overflow:hidden; border:1px solid #e5e7eb; }
.book-card:hover { transform:translateY(-5px); box-shadow:0 16px 32px rgba(26,39,68,.12); }
.book-badge { background:var(--gold); color:var(--navy-dark); font-size:11px; font-weight:700; padding:2px 8px; border-radius:4px; }
.badge-free { background:#10B981; color:white; }
.section-divider { height:3px; background:linear-gradient(90deg,transparent,var(--gold),transparent); width:80px; }
.toast { position:fixed; bottom:24px; right:24px; background:var(--navy-dark); color:white; padding:12px 22px; border-radius:8px; border-left:4px solid var(--gold); z-index:9999; transform:translateY(100px); transition:transform .3s; font-size:14px; max-width:320px; }
.toast.show { transform:translateY(0); }
.toast.error { border-left-color:#EF4444; }
.spinner { display:inline-block; width:14px; height:14px; border:2px solid rgba(255,255,255,.4); border-top-color:white; border-radius:50%; animation:spin .7s linear infinite; vertical-align:middle; margin-right:5px; }
@keyframes spin { to { transform:rotate(360deg); } }
.skeleton { background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%); background-size:200% 100%; animation:shimmer 1.4s infinite; border-radius:6px; }
@keyframes shimmer { to { background-position:-200% 0; } }
.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:1000; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .3s; }
.modal-overlay.active { opacity:1; pointer-events:all; }
.modal-box { background:white; border-radius:16px; max-width:920px; width:95%; max-height:92vh; overflow-y:auto; transform:scale(.95); transition:transform .3s; }
.modal-overlay.active .modal-box { transform:scale(1); }
#cartOverlay { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:40; }
#cartDrawer { position:fixed; right:0; top:0; height:100%; width:340px; background:white; z-index:50; box-shadow:-4px 0 20px rgba(0,0,0,.15); display:flex; flex-direction:column; transition:transform .3s; }
input:focus,select:focus,textarea:focus { outline:none; border-color:var(--gold) !important; box-shadow:0 0 0 3px rgba(200,169,110,.15); }
.price-free { color:#10B981; font-weight:700; }
.sidebar-link { transition:all .2s; }
.sidebar-link:hover,.sidebar-link.active { background:rgba(200,169,110,.15); color:var(--gold); }
.badge-pending { background:#FEF3C7; color:#92400E; }
.badge-processing { background:#DBEAFE; color:#1E40AF; }
.badge-completed { background:#D1FAE5; color:#065F46; }
.badge-cancelled { background:#FEE2E2; color:#991B1B; }
