:root {
    --bs-font-sans-serif: "Poppins", system-ui, -apple-system, sans-serif;
    --font-heading: "Poppins", sans-serif;
    --font-mono: "Poppins", sans-serif;
    --primary-color: #0d6efd;
    --indigo-color: #4f46e5;
    --warning-color: #f59e0b;
}

body {
    font-family: var(--bs-font-sans-serif);
    overflow-x: hidden;
    letter-spacing: -0.01em;
    background-color: #ffffff;
    color: #212529;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    letter-spacing: -0.02em;
}

.font-mono-custom {
    font-family: var(--font-mono);
}

.bg-blur-header {
    background-color: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.section-padding {
    padding-top: 5.5rem;
    padding-bottom: 5.5rem;
}

.text-gradient {
    background: linear-gradient(
        135deg,
        var(--primary-color) 0%,
        var(--indigo-color) 50%,
        var(--warning-color) 100%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Hover lift styling container triggers */
.hover-lift {
    transition:
        transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.3s ease;
}

.hover-lift:hover {
    transform: translateY(-5px);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.08) !important;
}

/* Book cover depth design */
.book-gradient {
    background: linear-gradient(180deg, #d97706 0%, #78350f 100%);
}

/* Marquee custom layout animation loop */
@keyframes ticker {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

.ticker-wrap {
    overflow: hidden;
    width: 100%;
    background-color: #ffffff;
}

.animate-ticker {
    display: flex;
    width: max-content;
    animation: ticker 25s linear infinite;
}

.ticker-item {
    padding: 0 2rem;
    font-family: var(--font-mono);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    color: #6c757d;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Selection aesthetics block */
::selection {
    background-color: #fef3c7;
    color: #1e293b;
}

.cursor-pointer {
    cursor: pointer;
}

.active-nav {
    background-color: rgba(13, 110, 253, 0.1) !important;
    color: var(--primary-color) !important;
    font-weight: 700 !important;
}

.modal-backdrop-custom {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(15, 23, 42, 0.75);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 1050;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.lucide {
    stroke-width: 2;
}

/* Footer Social Icon Styling */
.footer-social-link {
    color: rgba(255, 255, 255, 0.45) !important;
    background-color: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none;
}
.footer-social-link:hover {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}
.footer-social-link.fb:hover {
    background-color: rgba(24, 119, 242, 0.15) !important;
    border-color: rgba(24, 119, 242, 0.3) !important;
    color: #1877f2 !important;
}
.footer-social-link.tw:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
}
.footer-social-link.ln:hover {
    background-color: rgba(10, 102, 194, 0.15) !important;
    border-color: rgba(10, 102, 194, 0.3) !important;
    color: #0a66c2 !important;
}
.footer-social-link.ig:hover {
    background-color: rgba(225, 48, 108, 0.15) !important;
    border-color: rgba(225, 48, 108, 0.3) !important;
    color: #e1306c !important;
}
.footer-social-link.yt:hover {
    background-color: rgba(255, 0, 0, 0.15) !important;
    border-color: rgba(255, 0, 0, 0.3) !important;
    color: #ff0000 !important;
}
