/* BTWCalculator.eu - Custom CSS */

/* Nav scroll behaviour */
#main-nav {
    transition: background 0.3s ease, box-shadow 0.3s ease, padding 0.3s ease;
}
#main-nav.scrolled {
    background: rgba(15, 23, 42, 0.97);
    backdrop-filter: blur(12px);
    box-shadow: 0 1px 20px rgba(0,0,0,0.3);
}

/* Prose (blog content) */
.prose h2 { font-weight: 800; color: #111827; margin-top: 2em; }
.prose h3 { font-weight: 700; color: #1f2937; }
.prose p  { color: #374151; line-height: 1.8; }
.prose a  { color: #2563eb; text-decoration: underline; }
.prose a:hover { color: #1d4ed8; }
.prose ul, .prose ol { padding-left: 1.5rem; color: #374151; line-height: 1.8; }
.prose li { margin-bottom: 0.4rem; }
.prose blockquote {
    border-left: 4px solid #2563eb;
    background: #eff6ff;
    padding: 1rem 1.5rem;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #1e40af;
    margin: 1.5rem 0;
}
.prose strong { color: #111827; }
.prose code {
    background: #f1f5f9;
    padding: 0.1em 0.4em;
    border-radius: 4px;
    font-size: 0.9em;
    color: #1e40af;
}
.prose pre { background: #0f172a; color: #e2e8f0; padding: 1.5rem; border-radius: 12px; overflow-x: auto; }
.prose table { width: 100%; border-collapse: collapse; }
.prose th { background: #eff6ff; color: #1e40af; font-weight: 700; text-align: left; padding: 0.75rem 1rem; }
.prose td { padding: 0.65rem 1rem; border-bottom: 1px solid #e5e7eb; color: #374151; }
.prose tr:hover td { background: #f9fafb; }

/* Calculator number input: hide arrows */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type=number] { -moz-appearance: textfield; }

/* Mode button active state */
.calc-mode-btn.active {
    background: white;
    color: #2563eb;
    box-shadow: 0 1px 4px rgba(0,0,0,0.12);
}

/* Line clamp utilities */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Smooth transitions for everything */
*, *::before, *::after {
    transition-property: color, background-color, border-color, box-shadow, transform, opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

/* Pulse animation for live indicator */
@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}
.animate-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }

/* Admin specific */
.admin-sidebar-link:hover,
.admin-sidebar-link.active {
    background: rgba(37, 99, 235, 0.1);
    color: #2563eb;
}
.admin-sidebar-link.active {
    border-right: 3px solid #2563eb;
    font-weight: 700;
}
