:root {
    --dbc-primary:       #2563eb;
    --dbc-primary-dark:  #1d4ed8;
    --dbc-primary-light: #eff6ff;
    --dbc-text:          #1a1a1a;
    --dbc-player-bg:     #1a1a1a;
    --dbc-viewer-bg:     #1a1a1a;
}

/*
 * Digital Books Core — Frontend CSS
 * All styles below are minimal defaults.
 * Override using --dbc-* CSS variables or your own theme CSS.
 */

/* Format Selector */
.dbc-format-selector { display: flex; flex-direction: column; gap: 10px; }
.dbc-format-card { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border: 2px solid #e5e7eb; border-radius: 8px; cursor: pointer; background: #fff; transition: border-color .15s; }
.dbc-format-card.is-selected { border-color: var(--dbc-primary); }
.dbc-format-card.is-disabled { opacity: 0.4; cursor: not-allowed; pointer-events: none; }
.dbc-format-icon { font-size: 1.4em; }
.dbc-format-label { font-weight: 600; flex: 1; }
.dbc-format-price { font-weight: 700; color: var(--dbc-primary); }
.dbc-format-check { margin-right: auto; display: none; }
.dbc-format-card.is-selected .dbc-format-check { display: block; }

/* Library */
.dbc-library-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 20px; }
.dbc-library-card { border: 1px solid #e5e7eb; border-radius: 8px; overflow: hidden; }
.dbc-library-cover img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.dbc-library-info { padding: 12px; }
.dbc-library-title { font-weight: 700; margin-bottom: 8px; }
.dbc-library-actions { display: flex; gap: 8px; }

/* Author card */
.dbc-author-card-link { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; color: inherit; }
.dbc-author-avatar { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }

/* Buttons */
.dbc-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 6px; border: none; cursor: pointer; font-weight: 600; text-decoration: none; }
.dbc-btn-read { background: var(--dbc-primary); color: #fff; }
.dbc-btn-listen { background: #f3f4f6; color: #1a1a1a; }

/* Login prompt */
.dbc-library-login, .dbc-library-empty { padding: 20px; text-align: center; }
