/* Bibliva: components.css - Cards, botões, formulários, alerts, badges, breadcrumbs, tabs */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:var(--radius-sm,6px);border:1px solid transparent;background:var(--color-primary);color:#fff;font-weight:600;transition:all .15s ease;cursor:pointer;text-decoration:none;}
.btn:hover{opacity:.92;transform:translateY(-1px);}
.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover);color:#fff;text-decoration:none;}
.btn-secondary{background:#6B7280;color:#fff}.btn-danger{background:#DC2626;color:#fff}.btn-accent{background:var(--color-accent);color:#111}
.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary);}.btn-outline:hover{background:var(--color-primary);color:#fff;text-decoration:none;}
.btn-ghost{background:transparent;color:var(--color-text);border-color:transparent;}
.btn-block{display:flex;width:100%;}
.btn-sm{padding:.35rem .65rem;font-size:.85rem;}.btn-lg{padding:.8rem 1.4rem;font-size:1.05rem;}
.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md,12px);padding:1.25rem;box-shadow:var(--shadow-sm,0 1px 2px rgba(0,0,0,.05));transition:box-shadow .2s ease, transform .2s ease;}
.card:hover{box-shadow:var(--shadow-md,0 8px 24px rgba(0,0,0,.08));}
.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:var(--color-accent);color:#111;font-size:.72rem;font-weight:700;letter-spacing:.02em;line-height:1.3;}
.alert{padding:.9rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;border-left:4px solid var(--color-primary);background:rgba(13,115,119,.06);}.alert h4{margin:0 0 .25rem;font-size:1rem;}
.alert-success{border-color:#059669;background:#ECFDF5;color:#065F46;}.alert-error{border-color:#DC2626;background:#FEF2F2;color:#991B1B;}.alert-warning{border-color:#D97706;background:#FFFBEB;color:#92400E;}.alert-info{border-color:#2563EB;background:#EFF6FF;color:#1E40AF;}
.field{margin-bottom:1rem;}
.field label{display:block;margin-bottom:.35rem;font-weight:600;font-size:.95rem;}
.field .hint{font-size:.82rem;color:var(--color-muted);margin-top:.3rem;}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],input[type=url],input[type=date],select,textarea{width:100%;padding:.55rem .7rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-sm);transition:border-color .15s ease, box-shadow .15s ease;font:inherit;}
textarea{min-height:120px;resize:vertical;}
input:focus,select:focus,textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(13,115,119,.18);}
.checkbox-wrap,.radio-wrap{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;}.checkbox-wrap input,.radio-wrap input{margin-top:.2rem;}
.inline-error{color:#DC2626;font-size:.82rem;margin-top:.25rem;display:block;}
.tabs{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:1px solid var(--color-border);margin-bottom:1.25rem;}
.tab{padding:.55rem 1rem;border-bottom:2px solid transparent;cursor:pointer;color:var(--color-muted);font-weight:600;border-radius:0;background:transparent;}
.tab.is-active{border-color:var(--color-primary);color:var(--color-primary);background:transparent;}
.breadcrumbs{padding:.5rem 0;font-size:.88rem;color:var(--color-muted);}
.breadcrumbs a{color:var(--color-muted);}.breadcrumbs a:hover{color:var(--color-primary);}
.pagination{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:2rem;flex-wrap:wrap;}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 .7rem;border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;color:var(--color-text);font-weight:600;font-size:.9rem;}
.pagination a:hover{border-color:var(--color-primary);color:var(--color-primary);text-decoration:none;}
.pagination .current{background:var(--color-primary);color:#fff;border-color:var(--color-primary);}
.tag{display:inline-block;padding:.15rem .5rem;font-size:.78rem;background:rgba(13,115,119,.1);color:var(--color-primary);border-radius:999px;margin:0 .15rem .15rem 0;}
.divider{height:1px;background:var(--color-border);margin:1.5rem 0;border:0;}
.avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#0D7377;color:#fff;display:grid;place-items:center;font-weight:800;}
