
 @import url('../../../../css/core.css');

 /* Hide red warning/banner bar at top tt */
 body > div:first-child {
     display: none !important;
 }

 :root {
     --primary: #1d4ed8;
     --primary-dark: #0f3aa6;
     --accent: #fbbf24;
     --surface: #0b132b;
     --soft: #f8fafc;
     --muted: #94a3b8;
 }
 
 html {
     scroll-behavior: smooth;
 }
 
 .hero-landing {
     min-height: 88vh;
     background: linear-gradient(135deg, rgba(15, 23, 42, 0.82), rgba(29, 78, 216, 0.72)), url('../images/slide1.jpg') center/cover no-repeat;
     color: #fff;
     position: relative;
     display: flex;
     align-items: center;
     padding: 140px 0 72px;
 }
 
 .hero-overlay {
     position: absolute;
     inset: 0;
     background: radial-gradient(circle at 20% 20%, rgba(255,255,255,0.08), transparent 30%), radial-gradient(circle at 80% 0%, rgba(99,102,241,0.35), transparent 40%);
     pointer-events: none;
 }
 
 .hero-nav-overlay {
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     padding: 16px 0;
     z-index: 4;
 }
 
 .hero-landing.c-header::before {
     content: "";
     position: absolute;
     inset: 0;
     background: rgba(12, 18, 34, 0.35);
     backdrop-filter: blur(8px);
     -webkit-backdrop-filter: blur(8px);
     z-index: 1;
 }
 
 .hero-content {
     position: relative;
     z-index: 2;
 }
 
 .hero-pill {
     background: rgba(255, 255, 255, 0.12);
     border-radius: 999px;
     padding: 8px 14px;
     letter-spacing: 1.5px;
 }
 
 .badge-dot {
     display: inline-block;
     width: 10px;
     height: 10px;
     border-radius: 50%;
 }
 
 .navbar-glass {
     background: transparent;
     backdrop-filter: none;
     -webkit-backdrop-filter: none;
     border-bottom: none;
     box-shadow: none;
     padding: 0.75rem 1.25rem;
     min-height: 64px;
 }
 
 .navbar-sticky {
     position: sticky;
     top: 0;
     z-index: 1100;
 }

.navbar-container {
    display: flex;
    align-items: center;
    width: 100%;
}

.navbar .navbar-brand {
    display: flex;
    align-items: center;
    margin-right: 1rem;
    min-width: 0;
}

.navbar .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.45);
    padding: 0.4rem 0.6rem;
    border-radius: 10px;
}
 
 .navbar-brand img {
     max-height: 52px;
     width: auto;
 }
 
 .navbar-dark .navbar-nav .nav-link {
     font-size: 0.95rem;
 }
 
 .navbar .navbar-collapse {
     transition: transform .2s ease;
 }
 
 @media (max-width: 992px) {
     .navbar-glass {
         background: transparent;
         box-shadow: none;
         border-radius: 0;
         padding-left: 1rem;
         padding-right: 1rem;
     }
     .navbar-brand {
         padding-left: 0;
         padding-right: 0;
     }
     .navbar-brand > .bg-white {
         padding: 2px 10px;
         display: inline-flex;
         align-items: center;
         justify-content: center;
         line-height: 0;
     }
     .navbar-brand img {
         height: 32px !important;
         max-height: 32px;
         width: auto;
         max-width: 72px;
         object-fit: contain;
     }
     .navbar .navbar-collapse {
         background: rgba(15, 23, 42, 0.92);
         border-radius: 14px;
         padding: 0.75rem 1rem;
         margin-top: 0.75rem;
        width: 100%;
        max-width: none;
        box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
    }
    .navbar .navbar-collapse.show {
        display: block;
    }
    .navbar-container {
        flex-wrap: wrap;
    }
    .navbar-brand {
        flex: 1 1 0;
    }
    .navbar-toggler {
        margin-left: auto;
    }
    .navbar-nav {
        width: 100%;
    }
    .navbar .nav-item {
        width: 100%;
     }
     .navbar .dropdown-menu {
         position: static;
         width: 100%;
         box-shadow: none;
         margin-top: 0.35rem;
     }
     .navbar .dropdown-menu:not(.member-nav-dropdown):not(.member-nav-lang-menu) {
         background: rgba(255, 255, 255, 0.06);
         border: 1px solid rgba(255, 255, 255, 0.08);
         border-radius: 12px;
     }
     .navbar-dark .nav-link {
         width: 100%;
         padding-left: 0.65rem;
         padding-right: 0.65rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
     }
 }
 
 @media (max-width: 576px) {
     .navbar-brand h1 {
         font-size: 1rem;
     }
     .navbar-brand h2 {
         font-size: 0.85rem;
     }
     .navbar-brand img {
         height: 28px !important;
         max-height: 28px;
         max-width: 64px;
     }
     .navbar-brand > .bg-white {
         padding: 2px 8px;
     }
 }

@media (min-width: 992px) {
    .navbar .navbar-collapse {
        justify-content: flex-end;
    }
    .navbar-nav {
        align-items: center;
    }
}
 
 .navbar-dark .navbar-brand h1,
 .navbar-dark .navbar-brand h2 {
     color: #f8fafc;
     text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
 }
 
 .navbar-brand {
     padding: 0.35rem 0.75rem;
     border-radius: 12px;
     transition: background .2s ease, transform .2s ease;
 }
 
 .navbar-brand:hover {
     background: rgba(255, 255, 255, 0.04);
     transform: translateY(-1px);
 }
 
 .navbar-dark .nav-link {
     color: #e2e8f0;
     font-weight: 600;
     transition: color .2s ease, background .2s ease, transform .2s ease;
     padding: 0.55rem 0.9rem;
     border-radius: 10px;
     text-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
 }
 
 .navbar-dark .nav-link:hover,
 .navbar-dark .nav-item.active .nav-link {
     color: #fbbf24;
     background: rgba(251, 191, 36, 0.12);
     transform: translateY(-1px);
 }
 
 .navbar-dark .nav-item.active .nav-link::after {
     content: "";
     display: block;
     height: 3px;
     border-radius: 999px;
     background: #fbbf24;
     margin-top: 4px;
     box-shadow: 0 6px 16px rgba(251, 191, 36, 0.55);
 }
 
 .navbar .dropdown-menu {
     border-radius: 12px;
     border: 1px solid rgba(226, 232, 240, 0.7);
     box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
     padding: 0.35rem;
 }
 
 .navbar .dropdown-item {
     border-radius: 8px;
     font-weight: 500;
 }
 
 .navbar .dropdown-item:hover {
     background: #e0e7ff;
     color: #1d4ed8;
 }

 /* ── Member navbar (logged-in) ── */
 .navbar-dark .nav-item.dropdown .nav-link::after,
 .navbar-dark .nav-item.member-nav-basket-item.active .nav-link::after,
 .navbar-dark .nav-item.member-nav-user.active .nav-link::after {
     display: none;
 }

 .member-nav-basket {
     display: inline-flex;
     align-items: center;
     gap: 0.55rem;
     position: relative;
 }

 .member-nav-basket-icon {
     position: relative;
     width: 38px;
     height: 38px;
     border-radius: 12px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     background: rgba(251, 191, 36, 0.14);
     color: #fbbf24;
     flex-shrink: 0;
     transition: background 0.2s ease, transform 0.2s ease;
 }

 .member-nav-basket:hover .member-nav-basket-icon {
     background: rgba(251, 191, 36, 0.24);
     transform: translateY(-1px);
 }

 .member-nav-badge {
     position: absolute;
     top: -4px;
     right: -4px;
     min-width: 18px;
     height: 18px;
     padding: 0 5px;
     border-radius: 999px;
     background: #ef4444;
     color: #fff;
     font-size: 0.65rem;
     font-weight: 700;
     line-height: 18px;
     text-align: center;
     box-shadow: 0 2px 8px rgba(239, 68, 68, 0.45);
 }

 .member-nav-basket-label {
     font-weight: 600;
     color: #e2e8f0;
 }

 .member-nav-trigger {
     display: inline-flex !important;
     align-items: center;
     gap: 0.65rem;
     padding: 0.35rem 0.65rem 0.35rem 0.35rem !important;
     border-radius: 999px !important;
     background: rgba(255, 255, 255, 0.08);
     border: 1px solid rgba(255, 255, 255, 0.12);
     max-width: 100%;
 }

 .member-nav-trigger:hover,
 .member-nav-user.show .member-nav-trigger,
 .member-nav-user .member-nav-trigger[aria-expanded="true"] {
     background: rgba(255, 255, 255, 0.14);
     border-color: rgba(251, 191, 36, 0.35);
     color: #f8fafc !important;
 }

 .member-nav-avatar-wrap {
     position: relative;
     flex-shrink: 0;
 }

 .member-nav-avatar,
 .member-nav-dropdown-avatar {
     width: 36px;
     height: 36px;
     border-radius: 50%;
     object-fit: cover;
     border: 2px solid rgba(255, 255, 255, 0.85);
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
 }

 .member-nav-dropdown-avatar {
     width: 48px;
     height: 48px;
 }

 .member-nav-status {
     position: absolute;
     bottom: 1px;
     right: 1px;
     width: 10px;
     height: 10px;
     border-radius: 50%;
     background: #22c55e;
     border: 2px solid #0f172a;
 }

 .member-nav-user-info {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     min-width: 0;
     line-height: 1.2;
 }

 .member-nav-name {
     font-weight: 700;
     font-size: 0.88rem;
     color: #f8fafc;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
     max-width: 160px;
 }

 .member-nav-meta {
     font-size: 0.72rem;
     font-weight: 500;
     color: #94a3b8;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
     max-width: 160px;
 }

 .member-nav-chevron {
     font-size: 0.65rem;
     color: #94a3b8;
     margin-left: 0.15rem;
     transition: transform 0.2s ease;
 }

 .member-nav-user.show .member-nav-chevron,
 .member-nav-user .member-nav-trigger[aria-expanded="true"] .member-nav-chevron,
 .member-nav-lang.show .member-nav-chevron,
 .member-nav-lang .member-nav-lang-trigger[aria-expanded="true"] .member-nav-chevron {
     transform: rotate(180deg);
 }

 .member-nav-dropdown {
     min-width: 280px;
     padding: 0;
     border: 1px solid rgba(226, 232, 240, 0.85);
     border-radius: 16px;
     overflow: hidden;
     margin-top: 0.65rem;
     animation: memberNavDropdownIn 0.22s ease;
 }

 @keyframes memberNavDropdownIn {
     from {
         opacity: 0;
         transform: translateY(-6px);
     }
     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .member-nav-dropdown-header {
     display: flex;
     align-items: center;
     gap: 0.85rem;
     padding: 1rem 1.1rem;
     background: linear-gradient(135deg, #0f172a, #1e293b);
     color: #f8fafc;
 }

 .member-nav-dropdown-info {
     display: flex;
     flex-direction: column;
     gap: 0.2rem;
     min-width: 0;
 }

 .member-nav-dropdown-info strong {
     font-size: 0.95rem;
     font-weight: 700;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
 }

 .member-nav-dropdown-email {
     font-size: 0.78rem;
     color: #94a3b8;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
 }

 .member-nav-type-badge {
     display: inline-flex;
     align-self: flex-start;
     margin-top: 0.15rem;
     padding: 0.15rem 0.55rem;
     border-radius: 999px;
     background: rgba(251, 191, 36, 0.18);
     color: #fbbf24;
     font-size: 0.68rem;
     font-weight: 700;
     letter-spacing: 0.02em;
 }

 .member-nav-dropdown-body {
     padding: 0.45rem;
     background: #fff;
 }

 .member-nav-dropdown-item {
     display: flex !important;
     align-items: center;
     gap: 0.75rem;
     padding: 0.65rem 0.75rem !important;
     border-radius: 10px !important;
     font-weight: 600;
     color: #334155 !important;
     transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
 }

 .member-nav-dropdown-item:hover {
     background: #eff6ff !important;
     color: #1d4ed8 !important;
     transform: translateX(2px);
 }

 .member-nav-dropdown-icon {
     width: 34px;
     height: 34px;
     border-radius: 10px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     background: #f1f5f9;
     color: #475569;
     flex-shrink: 0;
     transition: background 0.18s ease, color 0.18s ease;
 }

 .member-nav-dropdown-item:hover .member-nav-dropdown-icon {
     background: #dbeafe;
     color: #1d4ed8;
 }

 .member-nav-dropdown-count {
     margin-left: auto;
     min-width: 22px;
     height: 22px;
     padding: 0 6px;
     border-radius: 999px;
     background: #ef4444;
     color: #fff;
     font-size: 0.7rem;
     font-weight: 700;
     line-height: 22px;
     text-align: center;
 }

 .member-nav-dropdown-logout {
     margin-top: 0.2rem;
     border-top: 1px solid #f1f5f9;
     border-radius: 0 0 10px 10px !important;
 }

 .member-nav-dropdown-logout .member-nav-dropdown-icon {
     background: #fef2f2;
     color: #dc2626;
 }

 .member-nav-dropdown-logout:hover {
     background: #fef2f2 !important;
     color: #dc2626 !important;
 }

 .member-nav-dropdown-logout:hover .member-nav-dropdown-icon {
     background: #fee2e2;
     color: #b91c1c;
 }

 .member-nav-lang-trigger {
     display: inline-flex !important;
     align-items: center;
     gap: 0.45rem;
     padding: 0.45rem 0.75rem !important;
     border-radius: 999px !important;
     background: rgba(255, 255, 255, 0.06);
     border: 1px solid rgba(255, 255, 255, 0.1);
 }

 .member-nav-lang-flag {
     width: 22px;
     height: 16px;
     border-radius: 3px;
     background-size: cover;
 }

 .member-nav-lang-label {
     font-size: 0.82rem;
     font-weight: 600;
     color: #e2e8f0;
 }

 .member-nav-lang-menu {
     min-width: 200px;
     border-radius: 14px;
     padding: 0.35rem;
     border: 1px solid rgba(226, 232, 240, 0.85);
 }

 .member-nav-lang-item {
     display: flex !important;
     align-items: center;
     gap: 0.65rem;
     border-radius: 8px !important;
     font-weight: 600;
 }

 .member-nav-trigger.dropdown-toggle::after,
 .member-nav-lang-trigger.dropdown-toggle::after {
     display: none;
 }

 @media (min-width: 992px) {
     .member-nav-basket-label {
         display: none;
     }

     .member-nav-meta {
         display: block;
     }

     .member-nav-lang-label {
         display: none;
     }
 }

 @media (max-width: 991.98px) {
     .navbar-nav {
         display: flex;
         flex-direction: column;
         gap: 0.15rem;
     }

     .member-nav-basket-item,
     .member-nav-user,
     .member-nav-lang {
         order: 10;
     }

     .member-nav-basket-item {
         margin-top: 0.75rem;
         padding-top: 0.85rem;
         border-top: 1px solid rgba(255, 255, 255, 0.12);
     }

     .member-nav-basket,
     .member-nav-trigger,
     .member-nav-lang-trigger {
         width: 100%;
         justify-content: flex-start !important;
         border-radius: 12px !important;
         padding: 0.75rem 0.85rem !important;
     }

     .member-nav-trigger {
         background: rgba(255, 255, 255, 0.07);
     }

     .member-nav-name {
         max-width: none;
         font-size: 0.95rem;
     }

     .member-nav-meta {
         display: block;
         max-width: none;
     }

     .member-nav-dropdown,
     .member-nav-lang-menu {
         position: static !important;
         float: none;
         width: 100%;
         margin: 0.35rem 0 0.5rem;
         transform: none !important;
         box-shadow: none;
         border: 1px solid rgba(255, 255, 255, 0.1);
         background: rgba(15, 23, 42, 0.55);
     }

     .member-nav-dropdown-header {
         border-radius: 12px 12px 0 0;
     }

     .member-nav-dropdown-body {
         background: rgba(255, 255, 255, 0.96);
         border-radius: 0 0 12px 12px;
     }

     .member-nav-lang-menu {
         background: rgba(255, 255, 255, 0.96);
     }

     .member-nav-lang-menu .dropdown-header {
         color: #64748b;
         font-weight: 700;
         letter-spacing: 0.04em;
         text-transform: uppercase;
         font-size: 0.68rem;
     }

     .navbar .dropdown-menu.show {
         display: block;
     }
 }

 .display-5 {
     font-size: clamp(1.75rem, 2.2vw + 1rem, 2.6rem);
     line-height: 1.25;
 }
 
 .opacity-80 {
     opacity: .8;
 }
 
 .glass-card {
     background: rgba(255, 255, 255, 0.14);
     border-radius: 20px;
     backdrop-filter: blur(10px);
     -webkit-backdrop-filter: blur(10px);
     position: relative;
 }
 
 .shadow-soft {
     box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
 }
 
 .section-shell {
     padding: 30px 0;
 }
 
 .section-contrast {
     background: linear-gradient(135deg, #0f172a, #111827);
 }
 
 .eyebrow {
     text-transform: uppercase;
     letter-spacing: 2px;
     font-size: 11px;
     font-weight: 700;
 }
 
 .section-header .eyebrow {
     text-transform: uppercase;
     letter-spacing: 2px;
     font-size: 11px;
     font-weight: 700;
 }
 
 .font-weight-semibold {
     font-weight: 600 !important;
 }
 
 .c-header {
     min-height: 460px;
     background: url('../images/slide1.jpg');
     background-size: cover;
     background-repeat: no-repeat;
     background-position: 50% 90%;
     position: relative;
 }
 
 .c-header .mask {
     position: absolute;
     top: 0;
     bottom: 0;
     left: 0;
     right: 0;
     background: rgba(0, 0, 0, 0.3);
 }
 
 .search {
     margin: 0;
     width: 100%;
 }
 
 .search input {
     padding-right: 35px;
 }
 
 .search .input-transparent {
     border: none;
     outline: none;
     background: transparent;
     font-size: 16pt;
 }
 
 .search .input-transparent::placeholder {
     font-weight: 400;
     color: #94a3b8;
 }
 
 .search-shell {
     padding: 28px;
     position: relative;
     background: rgba(15, 23, 42, 0.68);
     border: 1px solid rgba(255, 255, 255, 0.12);
     box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
     border-radius: 24px;
 }
 
 .search-shell-modern {
     background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(241,245,249,0.9));
     border: 1px solid rgba(226, 232, 240, 0.7);
     box-shadow: 0 24px 60px rgba(15, 23, 42, 0.14);
     backdrop-filter: blur(8px);
     -webkit-backdrop-filter: blur(8px);
     padding: 36px;
     max-width: 100%;
     width: 100%;
     margin-left: auto;
     margin-right: auto;
 }
 
 .smart-search-head {
     display: flex;
     justify-content: space-between;
     align-items: center;
     margin-bottom: 16px;
 }
 
 .badge-soft-primary {
     background: #e0e7ff;
     color: #1d4ed8;
     border-radius: 999px;
     padding: 8px 12px;
     font-weight: 700;
     font-size: 12px;
 }
 
 .search-input-wrapper {
     border: 1px solid rgba(226, 232, 240, 0.9);
     box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
     background: #ffffff;
     border-radius: 999px;
     padding: 8px 12px 8px 8px;
     min-height: 64px;
     gap: 12px;
     flex-wrap: nowrap;
 }
 
 .search-icon-pill {
     width: 44px;
     height: 44px;
     border-radius: 999px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     background: linear-gradient(135deg, #e0f2fe, #e0e7ff);
     color: #1d4ed8;
     box-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
     margin-right: 10px;
 }
 
 .search .input-transparent {
     border: none;
     outline: none;
     background: transparent;
     font-size: 17px;
     min-width: 0;
     color: #0f172a;
     font-weight: 600;
 }
 
 .search .input-transparent::placeholder {
     font-weight: 600;
     color: #475569;
     opacity: 0.9;
 }
 
 .search-form-modern .btn-pill {
     border-radius: 999px;
     box-shadow: 0 14px 32px rgba(59, 130, 246, 0.25);
 }
 
 .chip {
     display: inline-flex;
     align-items: center;
     padding: 8px 14px;
     border-radius: 999px;
     background: rgba(255, 255, 255, 0.08);
     color: #e2e8f0;
     border: 1px solid rgba(255, 255, 255, 0.12);
     font-weight: 600;
     cursor: pointer;
     transition: all .2s ease;
 }
 
 .chip:hover {
     color: #0f172a;
     border-color: rgba(255, 255, 255, 0.35);
     background: #fff;
     text-decoration: none;
 }
 
 .chip-outline {
     background: rgba(255, 255, 255, 0.18);
     color: #0f172a;
     border-color: rgba(255, 255, 255, 0.35);
 }
 
 .chip-active {
     background: #1d4ed8;
     color: #fff;
     border-color: #1d4ed8;
     box-shadow: 0 8px 20px rgba(59, 130, 246, 0.28);
 }
 
 .btn-ghost {
     background: transparent;
     border: 1px dashed rgba(148, 163, 184, 0.8);
     color: #475569;
     cursor: default;
 }
 
 .text-search-label {
     color: #0f172a;
     font-weight: 700;
     letter-spacing: 1.4px;
 }
 
 .text-search-sub {
     color: #475569;
 }
 
 .search-chip-row {
     flex-wrap: nowrap;
     min-width: 0;
 }
 
 .search-chip-row .chip,
 .search-chip-row .chip-outline {
     white-space: nowrap;
     flex-shrink: 0;
 }
 
 .search-chip-row .chip {
     color: #0f172a !important;
     border-color: rgba(148, 163, 184, 0.35);
     background: #fff !important;
     font-size: 0.75rem;
     padding: 6px 12px;
 }
 
 .search-chip-row .chip:hover {
     background: #f8fafc !important;
     border-color: #cbd5e1;
     color: #0f172a !important;
 }
 
 .search-chip-row .chip-outline {
     background: #f8fafc !important;
     color: #0f172a !important;
     border-color: rgba(148, 163, 184, 0.35) !important;
     font-size: 0.75rem;
     padding: 6px 12px;
 }
 
 .search-chip-row .chip-outline:hover {
     background: #f1f5f9 !important;
     color: #0f172a !important;
 }
 
 .search-chip-row .chip-active {
     background: #1d4ed8 !important;
     color: #fff !important;
     border-color: #1d4ed8 !important;
 }
 
 /* Force legible text for search chips and labels on light surface */
 .search-chip-row .chip,
 .search-chip-row .chip-outline,
 .search-chip-row .text-search-sub,
 .search-chip-row span.text-search-sub,
 .search-chip-row a.chip,
 .search-chip-row a.chip-outline {
     color: #0f172a !important;
 }
 
 .search-chip-row .text-search-sub,
 .search-chip-row span.text-search-sub {
     color: #0f172a !important;
     font-size: 0.75rem;
 }
 
 .search-chip-row .text-search-sub i,
 .search-chip-row span.text-search-sub i {
     color: #475569 !important;
 }
 
 /* Override any hero-landing color inheritance */
 .search-shell-modern .search-chip-row * {
     color: inherit;
 }
 
 .search-shell-modern .search-chip-row .chip,
 .search-shell-modern .search-chip-row .chip-outline,
 .search-shell-modern .search-chip-row a.chip,
 .search-shell-modern .search-chip-row a.chip-outline {
     color: #0f172a !important;
 }
 
 @media (max-width: 992px) {
     .search-shell-modern {
         padding: 28px;
     }
     .smart-search-head {
         flex-direction: column;
         align-items: flex-start;
         gap: 8px;
     }
 }
 
 @media (max-width: 768px) {
     .search-shell-modern {
         padding: 20px;
         border-radius: 20px;
     }
     .search-input-wrapper {
         flex-wrap: wrap;
         border-radius: 20px;
         padding: 12px;
     }
     .search-icon-pill {
         width: 40px;
         height: 40px;
     }
     .search-form-modern .btn-pill {
         width: 100%;
         justify-content: center;
         margin-left: 0 !important;
     }
     .search-chip-row {
         flex-direction: column;
         align-items: flex-start;
     }
     .search-chip-row .chip {
         width: 100%;
         justify-content: center;
         color: #0f172a !important;
         background: #fff !important;
     }
     .search-chip-row .chip-outline {
         color: #0f172a !important;
         background: #f8fafc !important;
     }
 }
 
 @media (max-width: 576px) {
     .search-shell-modern {
         padding: 16px;
     }
     .search-input-wrapper {
         min-height: auto;
         gap: 8px;
     }
     .text-search-label {
         font-size: 0.85rem;
     }
     .text-search-sub {
         font-size: 0.8rem;
     }
     .search-chip-row span.text-search-sub {
         width: 100%;
         justify-content: center;
         margin-right: 0 !important;
         color: #0f172a !important;
     }
     .search-chip-row .chip,
     .search-chip-row .chip-outline {
         color: #0f172a !important;
         background: #fff !important;
     }
     .search-chip-row .chip-outline {
         background: #f8fafc !important;
     }
 }
 
 .btn-icon {
     width: 46px;
     height: 46px;
     border-radius: 12px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     color: #fff;
 }
 
 .btn-facebook { background: #2563eb; }
 .btn-twitter { background: #0ea5e9; }
 .btn-youtube { background: #ef4444; }
 .btn-instagram { background: linear-gradient(45deg, #ff9a9e, #f472b6, #c084fc); }
 
 .shadow {
     box-shadow: 0 0 4px rgba(0, 0, 0, .05), 0 6px 10px rgba(0, 0, 0, .08);
 }
 
 .topics-showcase {
     position: relative;
     overflow: hidden;
     border-radius: 32px;
     padding-top: 72px;
     padding-bottom: 72px;
     background: radial-gradient(circle at 5% 5%, rgba(79, 70, 229, 0.08), transparent 35%),
                 radial-gradient(circle at 95% 0%, rgba(14, 165, 233, 0.12), transparent 45%),
                 #f9fafb;
 }
 
 .topics-showcase .section-header h4 {
     font-size: clamp(1.4rem, 2vw + 1rem, 1.9rem);
 }
 
 .topics-glow {
     position: absolute;
     inset: 0;
     background: radial-gradient(circle at 30% 20%, rgba(59, 130, 246, 0.18), transparent 50%),
                 radial-gradient(circle at 70% 0%, rgba(236, 72, 153, 0.15), transparent 45%);
     filter: blur(60px);
     opacity: 0.8;
     pointer-events: none;
 }
 
 .topics-grid {
     position: relative;
     z-index: 2;
     display: grid;
     grid-template-columns: repeat(5, minmax(0, 1fr));
     gap: 1.25rem;
 }
 
 .topic-card {
     position: relative;
     display: flex;
     flex-direction: column;
     justify-content: space-between;
     padding: 24px;
     border-radius: 24px;
     background: rgba(255, 255, 255, 0.9);
     border: 1px solid rgba(226, 232, 240, 0.8);
     box-shadow: 0 20px 45px rgba(15, 23, 42, 0.08);
     text-decoration: none;
     color: #0f172a;
     min-height: 240px;
     transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
     overflow: hidden;
 }
 
 .topic-card::before {
     content: "";
     position: absolute;
     inset: 0;
     background: linear-gradient(135deg, rgba(59, 130, 246, 0.12), rgba(14, 165, 233, 0.08));
     opacity: 0;
     transition: opacity .25s ease;
     z-index: 0;
 }
 
 .topic-card > * {
     position: relative;
     z-index: 1;
 }
 
 .topic-card:hover {
     transform: translateY(-8px);
     box-shadow: 0 30px 65px rgba(15, 23, 42, 0.12);
     border-color: rgba(59, 130, 246, 0.35);
     text-decoration: none;
 }
 
 .topic-card:hover::before {
     opacity: 1;
 }
 
 .topic-card-more {
     background: linear-gradient(135deg, rgba(79, 70, 229, 0.12), rgba(14, 165, 233, 0.15));
     border: 1px solid rgba(79, 70, 229, 0.35);
     color: #312e81;
 }
 
 .topic-icon {
     width: 72px;
     height: 72px;
     border-radius: 18px;
     background: rgba(30, 64, 175, 0.08);
     display: inline-flex;
     align-items: center;
     justify-content: center;
     overflow: hidden;
     box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
 }
 
 .topic-icon img {
     width: 56px;
     height: 56px;
     object-fit: contain;
     filter: drop-shadow(0 8px 16px rgba(15, 23, 42, 0.2));
 }
 
 .topic-label {
     font-weight: 700;
     font-size: 1.1rem;
     margin-bottom: 6px;
 }
 
 .topic-description {
     font-size: 0.95rem;
     color: #475569;
     line-height: 1.5;
 }
 
 .topic-link {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     color: #1d4ed8;
     font-weight: 600;
     font-size: 0.95rem;
 }
 
 .topic-link i {
     transition: transform .2s ease;
 }
 
 .topic-card:hover .topic-link i {
     transform: translateX(4px);
 }
 
 @media (max-width: 1200px) {
     .topics-grid {
         grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
     }
 }
 
 @media (max-width: 768px) {
     .topics-grid {
         grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
     }
 }
 
 .text-thin {
     font-weight: 200 !important;
 }
 
 .subtitle-section {
     font-size: 12px;
 }
 
 .letter-space-1 {
     letter-spacing: 1px;
 }
 
 .btn-rounded {
     border-radius: 20px 20px 20px 20px;
     padding-left: 32px;
     padding-right: 32px;
     font-weight: 200;
 }
 
 .card-text.title {
     font-size: 12px;
 }
 
 .link-see-more {
     font-style: italic;
     color: #999;
     text-decoration: none;
 }
 
 .link-see-more:hover {
     color: #666;
     text-decoration: none;
 }
 
 .advanced-wraper {
     background: #ffffff;
     padding: 16px;
     position: absolute;
     top: 64px;
     left: 16px;
     right: 16px;
     border-radius: 12px;
     z-index: 999;
     border: 1px solid #e2e8f0;
     box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
 }
 
 .advanced-header .pill-muted {
     width: 36px;
     height: 36px;
     border-radius: 10px;
     background: #f1f5f9;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     color: #475569;
 }
 
 .list-recent .badge-soft-primary {
     background: #e0e7ff;
     color: #1d4ed8;
     border-radius: 999px;
     padding: 6px 10px;
     font-weight: 700;
     font-size: 11px;
 }
 
 .card-image-rounded {
     width: 80px;
     height: 80px;
     overflow: hidden;
     border-radius: 50%;
     background: #ccc;
 }
 
 .card-image {
     border-radius: 4px;
     overflow: hidden;
     border: 1px solid #f1f1f1;
 }
 
 .card-image img, .card-image-rounded img {
     width: 102%;
     height: 102%;
     margin-top: -1%;
     margin-left: -1%;
 }
 
 .collection .card-text {
     font-size: 12px;
 }
 
 .home-collection-row .biblioResult {
     display: grid;
     grid-auto-flow: column;
     grid-auto-columns: minmax(180px, 220px);
     gap: 20px;
     overflow-x: auto;
     padding: 12px 4px 8px;
     margin: 0;
     scrollbar-width: thin;
 }
 
 .home-collection-row .biblioResult::-webkit-scrollbar {
     height: 8px;
 }
 
 .home-collection-row .biblioResult::-webkit-scrollbar-thumb {
     background: #cbd5e1;
     border-radius: 999px;
 }
 
 .home-collection-row .biblioResult .grid-item {
     width: 100%;
 }
 
 .home-collection-row .biblioResult .grid-item .card {
     height: 100%;
 }
 
 .home-collection-row .collection {
     display: flex;
     flex-wrap: nowrap;
     gap: 24px;
     overflow-x: auto;
     padding: 16px 8px 20px;
     margin: 0;
     scrollbar-width: none; /* Hide scrollbar for Firefox */
     -ms-overflow-style: none; /* Hide scrollbar for IE and Edge */
     scroll-behavior: smooth;
     -webkit-overflow-scrolling: touch;
     scroll-snap-type: x proximity;
 }
 
 .home-collection-row .collection::-webkit-scrollbar {
     display: none; /* Hide scrollbar for Chrome, Safari, Opera */
 }
 
 .home-collection-row .collection::-webkit-scrollbar-track {
     display: none;
 }
 
 .home-collection-row .collection::-webkit-scrollbar-thumb {
     display: none;
 }
 
 .home-collection-row .collection::-webkit-scrollbar-thumb:hover {
     display: none;
 }
 
 .home-collection-row .collection > * {
     flex: 0 0 200px;
     width: 200px;
     max-width: 200px;
     scroll-snap-align: start;
     animation: fadeInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) backwards;
 }
 
 .home-collection-row .collection > *:nth-child(1) { animation-delay: 0.05s; }
 .home-collection-row .collection > *:nth-child(2) { animation-delay: 0.1s; }
 .home-collection-row .collection > *:nth-child(3) { animation-delay: 0.15s; }
 .home-collection-row .collection > *:nth-child(4) { animation-delay: 0.2s; }
 .home-collection-row .collection > *:nth-child(5) { animation-delay: 0.25s; }
 .home-collection-row .collection > *:nth-child(6) { animation-delay: 0.3s; }
 .home-collection-row .collection > *:nth-child(7) { animation-delay: 0.35s; }
 .home-collection-row .collection > *:nth-child(8) { animation-delay: 0.4s; }
 
 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(20px) scale(0.95);
     }
     to {
         opacity: 1;
         transform: translateY(0) scale(1);
     }
 }
 
 @keyframes shimmer {
     0% {
         background-position: -1000px 0;
     }
     100% {
         background-position: 1000px 0;
     }
 }
 
 .book-card-modern.loading {
     animation: shimmer 2s infinite linear;
     background: linear-gradient(
         90deg,
         #f0f0f0 0%,
         #f8f8f8 50%,
         #f0f0f0 100%
     );
     background-size: 2000px 100%;
 }
 
 /* Smooth focus states */
 .book-card-modern:focus {
     outline: none;
     box-shadow: 
         0 0 0 4px rgba(102, 126, 234, 0.2),
         0 25px 50px -12px rgba(102, 126, 234, 0.25),
         0 15px 30px -10px rgba(118, 75, 162, 0.2);
 }
 
 /* Smooth scroll snap */
 .home-collection-row .collection {
     scroll-padding: 0 24px;
 }
 
 /* Loading Skeleton */
 .collection-loading {
     display: flex;
     flex-wrap: nowrap;
     gap: 24px;
     overflow-x: auto;
     padding: 16px 8px 20px;
     margin: 0;
     scrollbar-width: thin;
 }
 
 .book-card-skeleton {
     flex: 0 0 200px;
     max-width: 240px;
     height: 320px;
     background: linear-gradient(
         90deg,
         #f0f0f0 0%,
         #f8f8f8 50%,
         #f0f0f0 100%
     );
     background-size: 2000px 100%;
     border-radius: 20px;
     animation: shimmer 2s infinite linear;
     box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
 }
 
 /* Performance optimizations */
 .book-card-modern,
 .book-card-image,
 .book-card-image-wrapper {
     transform: translateZ(0);
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
 }
 
 /* Smooth momentum scrolling for iOS */
 @supports (-webkit-overflow-scrolling: touch) {
     .home-collection-row .collection {
         -webkit-overflow-scrolling: touch;
     }
 }
 
 /* Reduce motion for accessibility */
 @media (prefers-reduced-motion: reduce) {
     .book-card-modern,
     .book-card-image,
     .book-card-image-wrapper,
     .book-card-title,
     .book-card-modern::before,
     .book-card-modern::after,
     .book-card-image-wrapper::before,
     .book-card-image-wrapper::after,
     .book-card-image-overlay {
         transition: none;
         animation: none;
     }
     
     .home-collection-row .collection > * {
         animation: none;
     }
 }
 
 /* Modern Book Card Styles */
 .book-card-wrapper {
     width: 100%;
     height: 100%;
     min-height: 380px;
     max-height: 380px;
     perspective: 1000px;
 }
 
 .book-card-modern {
     display: flex;
     flex-direction: column;
     height: 100%;
     min-height: 380px;
     max-height: 380px;
     background: linear-gradient(135deg, #ffffff 0%, #fafbfc 100%);
     border-radius: 20px;
     overflow: hidden;
     text-decoration: none;
     box-shadow: 
         0 2px 8px rgba(0, 0, 0, 0.08),
         0 1px 3px rgba(0, 0, 0, 0.05),
         inset 0 1px 0 rgba(255, 255, 255, 0.9);
     transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
     position: relative;
     border: 1px solid rgba(226, 232, 240, 0.6);
     will-change: transform, box-shadow;
     backface-visibility: hidden;
     transform-style: preserve-3d;
 }
 
 .book-card-modern::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: linear-gradient(135deg, rgba(102, 126, 234, 0.08) 0%, rgba(118, 75, 162, 0.08) 100%);
     opacity: 0;
     transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
     z-index: 1;
     pointer-events: none;
 }
 
 .book-card-modern:hover {
     transform: translateY(-12px) scale(1.03) rotateX(2deg);
     box-shadow: 
         0 25px 50px -12px rgba(102, 126, 234, 0.25),
         0 15px 30px -10px rgba(118, 75, 162, 0.2),
         0 0 0 1px rgba(102, 126, 234, 0.15),
         inset 0 1px 0 rgba(255, 255, 255, 0.95);
     border-color: rgba(102, 126, 234, 0.4);
 }
 
 .book-card-modern:hover::before {
     opacity: 1;
 }
 
 .book-card-modern::after {
     content: '';
     position: absolute;
     top: -4px;
     left: -4px;
     right: -4px;
     bottom: -4px;
     border-radius: 24px;
     background: linear-gradient(135deg, rgba(102, 126, 234, 0.3), rgba(118, 75, 162, 0.3));
     opacity: 0;
     transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
     z-index: -1;
     filter: none;
     -webkit-filter: none;
     will-change: opacity;
 }
 
 .book-card-modern:hover::after {
     opacity: 0.7;
 }
 
 .book-card-modern:active {
     transform: translateY(-8px) scale(1.01) rotateX(1deg);
     transition: all 0.2s cubic-bezier(0.23, 1, 0.32, 1);
 }
 
 .book-card-image-wrapper {
     position: relative;
     width: 100%;
     padding-top: 140%;
     overflow: hidden;
     background: linear-gradient(135deg, #f5f7fa 0%, #e8ecf1 100%);
     border-radius: 16px 16px 0 0;
     will-change: transform;
 }
 
 .book-card-image-wrapper::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
     z-index: 3;
     pointer-events: none;
     opacity: 0;
     transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
 }
 
 .book-card-modern:hover .book-card-image-wrapper::before {
     opacity: 1;
 }
 
 .book-card-image-wrapper::after {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.03) 50%, rgba(0, 0, 0, 0.08) 100%);
     z-index: 2;
     pointer-events: none;
     transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
     opacity: 0.3;
 }
 
 .book-card-modern:hover .book-card-image-wrapper::after {
     opacity: 0.6;
 }
 
 .book-card-image-overlay {
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.05) 100%);
     z-index: 2;
     pointer-events: none;
     transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
     opacity: 0;
 }
 
 .book-card-modern:hover .book-card-image-overlay {
     opacity: 0.4;
 }
 
 .book-card-image {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1), filter 0.5s cubic-bezier(0.23, 1, 0.32, 1);
     z-index: 1;
     will-change: transform;
     filter: brightness(1) contrast(1) saturate(1);
 }

/* Override: ensure no blur/filter applied to book images */
.book-card-image, .book-card-image * {
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
 
 .book-card-modern:hover .book-card-image {
     transform: scale(1.1) translateZ(0);
     filter: brightness(1.05) contrast(1.05) saturate(1.1);
 }
 
 .book-card-content {
     padding: 18px;
     flex-grow: 1;
     display: flex;
     align-items: flex-start;
     background: linear-gradient(to bottom, #ffffff 0%, #fafbfc 100%);
     position: relative;
     z-index: 2;
     transition: background 0.5s cubic-bezier(0.23, 1, 0.32, 1);
 }
 
 .book-card-modern:hover .book-card-content {
     background: linear-gradient(to bottom, #ffffff 0%, #f8f9fa 100%);
 }
 
 .book-card-title {
     font-size: 14px;
     font-weight: 600;
     line-height: 1.6;
     color: #1e293b;
     margin: 0;
     display: -webkit-box;
    line-clamp: 2;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     overflow: hidden;
     text-overflow: ellipsis;
     transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
     letter-spacing: -0.02em;
     position: relative;
 }
 
 .book-card-title::after {
     content: '';
     position: absolute;
     bottom: -2px;
     left: 0;
     width: 0;
     height: 2px;
     background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
     transition: width 0.5s cubic-bezier(0.23, 1, 0.32, 1);
     border-radius: 2px;
 }
 
 .book-card-modern:hover .book-card-title {
     color: #667eea;
     transform: translateX(2px);
 }
 
 .book-card-modern:hover .book-card-title::after {
     width: 30px;
 }
 
 @media (max-width: 768px) {
     .home-collection-row .biblioResult {
         grid-auto-columns: minmax(160px, 200px);
         gap: 16px;
     }
 
     .home-collection-row .collection {
         gap: 16px;
         padding: 12px 6px 16px;
         scrollbar-width: none; /* Hide scrollbar for Firefox */
         -ms-overflow-style: none; /* Hide scrollbar for IE and Edge */
     }
 
     .home-collection-row .collection::-webkit-scrollbar {
         display: none; /* Hide scrollbar for Chrome, Safari, Opera */
     }
 
     .home-collection-row .collection > * {
         flex: 0 0 160px;
         width: 160px;
         max-width: 160px;
         animation-delay: 0s !important;
     }
 
     .book-card-wrapper {
         min-height: 320px;
         max-height: 320px;
     }
 
     .book-card-modern {
         border-radius: 16px;
         min-height: 320px;
         max-height: 320px;
     }
 
     .book-card-image-wrapper {
         border-radius: 14px 14px 0 0;
     }
 
     .book-card-content {
         padding: 14px;
     }
 
     .book-card-title {
         font-size: 13px;
     }
 
     .book-card-modern:hover {
         transform: translateY(-6px) scale(1.02) rotateX(1deg);
     }
 
     .book-card-modern:hover .book-card-image {
         transform: scale(1.08) translateZ(0);
     }
 }
 
 .result-search .c-header {
     min-height: 320px;
 }
 
 .member-area .c-header,
 .member-area .member-area-header {
     min-height: 72px;
 }
 
 .page-shell {
     background: #f5f7fb;
 }
 
 .news-page-header {
     background: transparent !important;
     padding: 60px 0 40px;
 }
 
 .news-list-section {
     background: transparent !important;
     padding: 40px 0 80px;
     margin-top: 20px;
 }
 
 .inner-hero {
     min-height: 320px;
     display: flex;
     align-items: center;
     padding: 120px 0 60px;
     position: relative;
     overflow: hidden;
 }
 
 .inner-hero::before {
     content: "";
     position: absolute;
     inset: 0;
     background: rgba(12, 18, 34, 0.35);
     backdrop-filter: blur(8px);
     -webkit-backdrop-filter: blur(8px);
     z-index: 1;
 }
 
 .inner-hero .hero-overlay {
     z-index: 2;
     backdrop-filter: blur(6px);
     -webkit-backdrop-filter: blur(6px);
 }
 
 .inner-hero .hero-content {
     z-index: 3;
 }
 
 .floating-search {
   margin-top: 0;
   position: relative;
   z-index: 10;
   max-width: 640px;
   width: 100%;
   margin-left: auto;
   margin-right: auto;
 }
 
 @media (min-width: 992px) {
   .floating-search {
     margin-top: 10px;
     margin-right: 0;
   }
 }
 
 .content-card {
     background: #ffffff;
     border-radius: 18px;
     padding: 32px;
     border: 1px solid #e5e7eb;
 }
 
 .content-card hr {
     margin: 1.5rem 0;
 }

 .content-card .ck-content {
     text-align: justify;
     line-height: 1.75;
     color: #334155;
     overflow-wrap: break-word;
     word-wrap: break-word;
     word-break: break-word;
 }

 .content-card .ck-content p,
 .content-card .ck-content li,
 .content-card .ck-content td {
     text-align: justify;
 }

 .content-card .ck-content img {
     max-width: 100%;
     height: auto;
 }

 .content-card .ck-content figure,
 .content-card .ck-content .image,
 .content-card .ck-content .image-inline {
     max-width: 100%;
 }

 .content-card .ck-content table {
     display: block;
     width: 100%;
     overflow-x: auto;
     -webkit-overflow-scrolling: touch;
 }

 @media (max-width: 768px) {
     .content-card {
         padding: 16px;
         border-radius: 14px;
     }

     .content-card .ck-content {
         padding: 1rem !important;
         font-size: 0.95rem;
     }

     .content-card .ck-content p,
     .content-card .ck-content li,
     .content-card .ck-content blockquote {
         text-align: justify;
         hyphens: auto;
         -webkit-hyphens: auto;
     }

     .content-card .ck-content .image-style-align-left,
     .content-card .ck-content .image-style-align-right,
     .content-card .ck-content .image-style-side,
     .content-card .ck-content .image-style-block-align-left,
     .content-card .ck-content .image-style-block-align-right {
         float: none !important;
         display: block;
         margin-left: auto;
         margin-right: auto;
         max-width: 100%;
     }
 }
 
 .item p {
     font-size: 10pt;
 }
 
 .authors a {
     font-size: 12px;
     margin-right: 8px;
     margin-bottom: 8px;
     padding-left: 16px;
     padding-right: 16px;
 }
 
 .availability {
     text-align: center;
     overflow: hidden;
 }
 
 .availability .label {
     font-size: 7pt;
     color: #aaa;
 }
 
 .availability .value {
     font-size: 28pt;
     font-weight: 200;
 }
 
 .add-to-chart {
     display: flex;
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: #606f7b;
     color: #f8fafc;
     opacity: 0;
     transition: all 0.3s ease-in-out;
 }
 
 .add-to-chart .label {
     color: #f8fafc;
 }
 
 .availability:hover .add-to-chart {
     opacity: 1;
 }
 
 .availability:hover .availability-content {
     filter: blur(8px);
     -webkit-filter: blur(8px);
 }
 
 .biblioPaging {
     text-align: center;
     border-top: 1px solid #dae1e7;
     padding-top: 20px;
 }
 
 .biblioPaging:first-child {
     margin-bottom: 1rem;
     border-bottom: 1px solid #dae1e7;
     border-top: none;
     padding-bottom: 20px;
     padding-top: 0px;
 }
 
 .biblioPaging .pagingList {
     display: inline-flex;
     justify-content: center;
     background: #dae1e7;
     border-radius: 20px;
 }
 
 .biblioPaging .pagingList b,
 .biblioPaging .pagingList a {
     display: inline-block;
     font-weight: 400;
     text-align: center;
     white-space: nowrap;
     vertical-align: middle;
     -webkit-user-select: none;
     -moz-user-select: none;
     -ms-user-select: none;
     user-select: none;
     border: 1px solid transparent;
     padding: 0.375rem 0.75rem;
     font-size: 1rem;
     line-height: 1.5;
     transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
     text-decoration: none;
     position: relative;
     -webkit-box-flex: 0;
     -ms-flex: 0 1 auto;
     flex: 0 1 auto;
 }
 
 .biblioPaging .pagingList b {
     color: #fff;
     background-color: #007bff;
     border-color: #007bff;
     border-radius: 20px;
     min-width: 38px;
     box-shadow: 0px 0px 10px #007bff;
 }
 
 .biblioPaging .pagingList a {
     color: #3d4852;
     background-color: transparent;
 }
 
 .biblioPaging .pagingList a:hover {
     color: #007bff;
 }
 
 .biblioPaging .pagingList a.first_link {
     padding-left: 20px;
 }
 
 .biblioPaging .pagingList a.last_link {
     padding-right: 20px;
 }
 
 .sugestion {
     min-height: 80px;
     margin-top: 16px;
     padding-left: 60px;
 }
 
 .sugestion .title {
     font-weight: 600;
 }
 
 .sugestion .author {
     color: #839CB5;
 }
 
 .container-img {
     width: 60px;
     position: absolute;
     top: -10px;
     left: 10px;
     overflow: hidden;
     border-radius: 4px;
 }
 
 .sugestion .card-text {
     font-size: 12px;
 }
 
 .text-label {
     font-weight: bold !important;
 }
 
 /* Enter and leave animations can use different */
 /* durations and timing functions.              */
 .slide-fade-enter-active {
     transition: all .3s ease;
 }
 
 .slide-fade-leave-active {
     transition: all .5s cubic-bezier(1.0, 0.5, 0.8, 1.0);
 }
 
 .slide-fade-enter, .slide-fade-leave-to
     /* .slide-fade-leave-active below version 2.1.8 */
 {
     transform: translateX(10px);
     opacity: 0;
 }
 
 /* Card elevation */
 
 .elevation-1 {
     box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
     transition: all 0.3s cubic-bezier(.25, .8, .25, 1);
 }
 
 .elevation-1:hover {
     box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
 }
 
 .elevation-2 {
     box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
 }
 
 .elevation-3 {
     box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
 }
 
 .elevation-4 {
     box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
 }
 
 .elevation-5 {
     box-shadow: 0 19px 38px rgba(0, 0, 0, 0.30), 0 15px 12px rgba(0, 0, 0, 0.22);
 }
 
 .page-member-area .memberButton,
 .jsonResultLink,
 .xmlResultLink {
     font-weight: 400;
     color: #007bff;
     display: inline-block;
     text-align: center;
     vertical-align: middle;
     -webkit-user-select: none;
     -moz-user-select: none;
     -ms-user-select: none;
     user-select: none;
     background-color: transparent;
     border: 1px solid transparent;
     padding: 0.375rem 0.75rem;
     font-size: 1rem;
     line-height: 1.5;
     border-radius: 0.25rem;
     transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
 }
 
 .jsonResultLink:hover,
 .xmlResultLink:hover {
     color: #0056b3;
     text-decoration: none;
 }
 
 .jsonResultLink:focus,
 .xmlResultLink:focus {
     text-decoration: none;
     box-shadow: none;
 }
 
 .jsonResultLink:disabled,
 .xmlResultLink:disabled {
     color: #6c757d;
     pointer-events: none;
 }
 
 .biblioMarkFormAction {
     display: none;
 }
 
 .memberInfoHead {
     font-size: 24px;
     font-weight: bold;
     border-left: 4px solid #848484;
     padding: 2px 4px 2px 16px;
     margin-bottom: 16px;
 }
 
 .page-member-area .tagline {
     margin-top: 0.5rem;
     margin-bottom: 1.5rem;
     font-size: 2rem;
     font-weight: 500;
     line-height: 1.2;
     border-bottom: 1px solid rgba(0, 0, 0, .1);
     padding-bottom: 1.5rem;
 }
 
 .page-member-area .memberButton {
     background-color: #0074e7;
     color: white;
     margin-top: 1rem;
     cursor: pointer;
     transition: all 200ms ease-in-out;
 }
 
 .page-member-area .memberButton:hover {
     background-color: #0085ff;
     box-shadow: 0 0 4px rgba(0, 0, 0, .05), 0 6px 10px rgba(0, 0, 0, .08);
 }
 
 .page-member-area .errorBox {
     color: #fd423d;
     padding: 1rem;
     background-color: rgba(255, 67, 61, 0.22);
     border-radius: 4px;
     margin-bottom: 1rem;
 }
 
 .page-member-area .loginInfo {
     padding: 0.5rem 0;
 }
 
 .page-member-area .fieldLabel {
     font-weight: bold;
     padding: 0.2rem 0;
 }
 
 .page-member-area .form-control {
     width: 320px;
 }
 
.member-area .nav-tabs,
.page-member-area .nav-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 8px;
}

.member-area .nav-tabs .nav-link,
.page-member-area .nav-tabs .nav-link {
    white-space: nowrap;
}

.table-responsive-modern {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 14px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    background: #ffffff;
}

.table-responsive-modern table {
    min-width: 520px;
    margin-bottom: 0;
}

.table-responsive-modern .table {
    width: 100%;
}

.memberLoanListInfo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
}

.memberLoanListInfo .btn {
    white-space: nowrap;
}

 .librarian {
     display: flex;
     margin-bottom: 1.5rem;
     flex: 0 50%;
 }
 
 .span2 {
     width: 12rem;
 }
 
 .span2 div:first-child {
     padding: 2rem;
     background: #dae1e7;
     border-radius: 4px;
 }
 
 .span2 img {
     border-radius: 4px;
     box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12),
     0 2px 4px 0 rgba(0, 0, 0, 0.08);
 }
 
 .span8 {
     flex: 1;
     padding: 0 1rem 0 1rem;
 }
 
 .span8 .row-fluid {
     display: flex;
 }
 
 .span8 .row-fluid .key {
     flex: 0 0 100px;
     font-weight: bold;
 }
 
 .span8 .row-fluid .value {
     flex: 1;
 }
 
 .span8 .librarian-social {
     list-style: none;
     padding: 0;
     margin: 0;
 }

 /* Admin Login Form - Uses same styling as member login */
 /* All member-login-* classes are inherited and work automatically */
 
 #loginForm .homeButton {
     display: none;
 }
 
 /* Override old login form styles that might interfere */
 #loginForm form.member-login-form {
     width: 100%;
     max-width: 640px;
 }
 
 #loginForm .heading1 {
     display: none; /* Hidden since we use placeholder instead */
 }
 
 #loginForm .login_input {
     display: none; /* Hidden since we use member-login-input-wrapper instead */
 }
 
 #loginForm .loginButton:not(.member-login-button) {
     display: none; /* Hidden since we use member-login-button instead */
 }
 
 /* Advanced Modal Styling */
 #adv-modal {
     z-index: 2000 !important;
 }
 
 #adv-modal .modal-backdrop {
     z-index: 1999 !important;
 }
 
 #adv-modal .modal-dialog {
     z-index: 2000 !important;
     margin-top: 20px;
 }
 
 #adv-modal .modal-content,
 #adv-modal .modal-footer {
     position: relative;
     z-index: 1;
     border: none;
     border-radius: 24px;
     box-shadow: 0 25px 80px rgba(15, 23, 42, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
     background: linear-gradient(135deg, rgba(255, 255, 255, 0.99) 0%, rgba(248, 250, 252, 0.98) 100%);
 }
 
 #adv-modal .modal-header {
     border-bottom: 1.5px solid rgba(226, 232, 240, 0.6);
     padding: 28px 32px;
     background: transparent;
 }
 
 #adv-modal .modal-header .modal-title {
     font-weight: 800;
     color: #0f172a;
     font-size: 20px;
     letter-spacing: 0.5px;
     background: linear-gradient(135deg, #1d4ed8 0%, #3b82f6 100%);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
 }
 
 #adv-modal .modal-header .close {
     opacity: 0.6;
     font-size: 28px;
     transition: all 0.3s ease;
 }
 
 #adv-modal .modal-header .close:hover {
     opacity: 1;
     transform: rotate(90deg);
 }
 
 #adv-modal .modal-body {
     padding: 32px;
 }
 
 #adv-modal .modal-body .form-group {
     margin-bottom: 24px;
 }
 
 #adv-modal .modal-body label {
     font-weight: 700;
     color: #0f172a;
     font-size: 14px;
     letter-spacing: 0.3px;
     margin-bottom: 10px;
     text-transform: uppercase;
 }
 
 #adv-modal .modal-body .form-control {
     border: 2px solid rgba(226, 232, 240, 0.6);
     border-radius: 12px;
     padding: 12px 16px;
     font-size: 15px;
     background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
     transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
     color: #0f172a;
     min-height: 50px;
 }
 
 #adv-modal .modal-body .form-control:focus {
     border-color: rgba(59, 130, 246, 0.6);
     box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1), 0 8px 20px rgba(59, 130, 246, 0.15);
     background: #ffffff;
     color: #0f172a;
 }
 
 #adv-modal .modal-body .form-control::placeholder {
     color: #94a3b8;
     opacity: 0.8;
 }
 
 #adv-modal .modal-footer {
     border-top: 1.5px solid rgba(226, 232, 240, 0.6);
     padding: 20px 32px;
     background: transparent;
 }
 
 #adv-modal .modal-footer .btn {
     border-radius: 12px;
     font-weight: 800;
     letter-spacing: 0.5px;
     min-height: 48px;
     padding: 12px 28px;
     text-transform: uppercase;
     font-size: 14px;
     transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
 }
 
 #adv-modal .modal-footer .btn-primary {
     background: linear-gradient(135deg, #3b82f6 0%, #2563eb 50%, #1d4ed8 100%);
     border: none;
     color: #ffffff;
     box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.25);
 }
 
 #adv-modal .modal-footer .btn-primary:hover {
     background: linear-gradient(135deg, #2563eb 0%, #1e40af 50%, #1e3a8a 100%);
     box-shadow: 0 10px 32px rgba(59, 130, 246, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.3);
     transform: translateY(-2px);
     color: #ffffff;
 }
 
 #adv-modal .modal-content:before {
     content: "";
     position: absolute;
     top: 0;
     bottom: 0;
     right: 0;
     left: 0;
     background-image: url("../images/logo-big.png");
     background-repeat: no-repeat;
     background-size: 30%;
     background-position-x: right 30px;
     background-position-y: bottom 30px;
     z-index: 0;
     opacity: 0.05;
     border-radius: 24px;
 }
 
 @media (max-width: 768px) {
     #adv-modal .modal-dialog {
         margin: 20px;
     }
     
     #adv-modal .modal-header {
         padding: 24px;
     }
     
     #adv-modal .modal-body {
         padding: 24px;
     }
     
     #adv-modal .modal-header .modal-title {
         font-size: 18px;
     }
     
     #adv-modal .modal-body .form-control {
         font-size: 14px;
         padding: 10px 14px;
         min-height: 44px;
     }
     
     #adv-modal .modal-footer {
         padding: 16px 24px;
     }
 }
 
 .attachList {
     padding: 4px 24px;
 }
 
 .attachList li {
     padding: 4px 0;
 }
 
 .comment-found {
     display: inline-block;
     margin-bottom: 8px;
 }
 
 .comments {
     padding: 8px 0;
     border-top: 1px dotted #cbd5e0;
 }
 
 .comments .comment-member {
     font-size: 10pt;
     font-weight: bold;
 }
 
 .comments .comment-content {
     color: #4a5568;
 }

/* ====== MODERN RESULT CARD STYLES ====== */
.modern-result-card {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 20px;
    align-items: start;
    padding: 20px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    margin-bottom: 20px;
    overflow: hidden;
}

.modern-result-card__aside {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.modern-result-card__main {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.card-header-section {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.card-meta-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.coll-type-badge-wrap {
    text-align: center;
}

.coll-type-badge {
    display: inline-block;
    max-width: 100%;
    font-size: 0.78rem;
    padding: 6px 10px;
    line-height: 1.3;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
}

.modern-result-card:hover {
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
    border-color: #d1d5db;
    transform: translateY(-2px);
}

.card-image-wrapper {
    position: relative;
}

.modern-result-card .card-image {
    width: 100%;
    height: 160px;
    border-radius: 12px;
    object-fit: cover;
    object-position: center;
    background: #f3f4f6;
    display: block;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.1));
    transition: filter 0.3s ease;
}

.modern-result-card .card-image.not-available {
    opacity: 0.6;
    filter: grayscale(50%) drop-shadow(0 2px 8px rgba(0, 0, 0, 0.08));
}

.modern-result-card .card-image:hover:not(.not-available) {
    filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.15));
}

.availability-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    padding: 8px 10px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.85rem;
    text-align: center;
    transition: all 0.3s ease;
}

.availability-badge.badge-available {
    background: linear-gradient(135deg, #d1fae5, #a7f3d0);
    color: #065f46;
    border: 1px solid #6ee7b7;
}

.availability-badge.badge-unavailable {
    background: linear-gradient(135deg, #fee2e2, #fecaca);
    color: #7f1d1d;
    border: 1px solid #fca5a5;
}

.availability-badge .avail-number {
    display: block;
    font-size: 1.4rem;
    line-height: 1;
}

.availability-badge .avail-label {
    display: block;
    font-size: 0.7rem;
    font-weight: 600;
    opacity: 0.9;
}

.card-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

.card-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.4;
    color: #111827;
}

.card-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.25s ease;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card-title a:hover {
    color: #1d4ed8;
}

.card-authors {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.card-authors a {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    background: #f0f4ff;
    color: #1d4ed8;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid #c7d2fe;
}

.card-authors a:hover {
    background: #1d4ed8;
    color: #fff;
    border-color: #1d4ed8;
}

.card-description p {
    margin: 0;
    font-size: 0.95rem;
    color: #4b5563;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card-location {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    color: #6b7280;
    padding: 8px 12px;
    background: #f9fafb;
    border-radius: 8px;
    border-left: 3px solid #1d4ed8;
}

.card-location svg {
    flex-shrink: 0;
    color: #1d4ed8;
}

.card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 8px;
    border-top: 1px solid #e5e7eb;
}

.btn-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 14px;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    white-space: nowrap;
    background: #e5e7eb;
    color: #374151;
}

.btn-action:hover:not(.btn-basket) {
    background: #d1d5db;
    transform: translateY(-1px);
}

.btn-action.btn-primary {
    background: linear-gradient(135deg, #1d4ed8, #1e40af);
    color: #fff;
    flex: 1;
}

.btn-action.btn-primary:hover {
    background: linear-gradient(135deg, #1e40af, #1e3a8a);
    box-shadow: 0 6px 12px rgba(29, 78, 216, 0.3);
}

.btn-action.btn-secondary {
    background: #f3f4f6;
    color: #374151;
    flex: 1;
    border: 1px solid #d1d5db;
}

.btn-action.btn-secondary:hover {
    background: #e5e7eb;
    border-color: #9ca3af;
}

.btn-action.btn-basket {
    background: #fef3c7;
    color: #92400e;
    padding: 8px 10px;
}

.btn-action.btn-basket:hover {
    background: #fcd34d;
    transform: scale(1.05);
}

.card-expand {
    display: flex;
    justify-content: center;
    padding-top: 8px;
    border-top: 1px solid #e5e7eb;
}

.expand-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #f3f4f6;
    color: #6b7280;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.expand-toggle:hover {
    background: #e5e7eb;
    color: #111827;
    transform: rotate(180deg);
}

.collapse-detail {
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ====== RESPONSIVE DESIGN ====== */
@media (max-width: 1024px) {
    .modern-result-card {
        grid-template-columns: 100px 1fr;
        gap: 16px;
        padding: 16px;
    }

    .modern-result-card .card-image {
        height: 150px;
    }

    .card-title {
        font-size: 1rem;
    }
}

@media (max-width: 767.98px) {
    .result-search-body .container {
        padding-left: 12px;
        padding-right: 12px;
    }

    .result-search-body .mt-5 {
        margin-top: 1.25rem !important;
    }

    .search-results-toolbar {
        flex-direction: column;
        align-items: stretch !important;
        gap: 12px;
    }

    .search-results-toolbar__info {
        width: 100%;
        font-size: 0.82rem;
        line-height: 1.45;
    }

    .search-results-toolbar__controls {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        width: 100%;
        padding-left: 0 !important;
    }

    .search-results-toolbar__controls label {
        margin: 0 !important;
        font-size: 0.82rem;
    }

    .search-results-toolbar__controls .custom-select {
        flex: 1;
        min-width: 140px;
    }

    .search-filter-toggle {
        width: 100%;
        justify-content: center;
        margin-bottom: 12px;
    }

    .modern-result-card {
        display: grid;
        grid-template-columns: 92px 1fr;
        gap: 12px;
        padding: 14px;
        margin-bottom: 14px;
        overflow: visible;
    }

    .modern-result-card__aside {
        display: contents;
    }

    .modern-result-card__main {
        display: contents;
    }

    .card-image-wrapper {
        grid-column: 1;
        grid-row: 1;
    }

    .card-header-section {
        grid-column: 2;
        grid-row: 1;
    }

    .card-meta-row {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .card-content {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    .modern-result-card .card-image {
        width: 92px;
        height: 124px;
    }

    .card-title {
        font-size: 0.95rem;
    }

    .card-title a {
        display: block;
        overflow: visible;
        -webkit-line-clamp: unset;
        line-clamp: unset;
        white-space: normal;
        word-break: break-word;
        overflow-wrap: break-word;
    }

    .card-header-section .d-flex.flex-row {
        flex-wrap: wrap;
        gap: 4px;
    }

    .card-header-section .d-flex.flex-row a {
        font-size: 0.72rem;
        padding: 4px 6px !important;
        margin-right: 0 !important;
    }

    .card-meta-row {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 8px;
        width: 100%;
    }

    .coll-type-badge-wrap {
        flex: 1 1 100%;
        text-align: left;
    }

    .coll-type-badge {
        display: block;
        width: 100%;
        text-align: center;
        font-size: 0.76rem;
        padding: 8px 12px;
        border-radius: 999px;
    }

    .availability-badge {
        flex: 1 1 auto;
        min-width: 110px;
        flex-direction: row;
        justify-content: center;
        gap: 8px;
        padding: 8px 12px;
    }

    .availability-badge .avail-number {
        font-size: 1.1rem;
    }

    .availability-badge .avail-label {
        font-size: 0.75rem;
    }

    .card-description p {
        font-size: 0.88rem;
        -webkit-line-clamp: 3;
        line-clamp: 3;
    }

    .card-authors {
        gap: 6px;
    }

    .card-authors a {
        padding: 5px 10px;
        font-size: 0.78rem;
    }

    .card-location {
        font-size: 0.8rem;
        word-break: break-word;
    }

    .card-actions {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
    }

    .btn-action {
        padding: 8px 4px;
        font-size: 0.68rem;
        gap: 4px;
        width: 100%;
        min-width: 0;
        flex: none;
        text-indent: 0;
        position: static;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .btn-action.btn-primary,
    .btn-action.btn-secondary {
        flex: none;
    }

    .btn-action svg {
        position: static;
        transform: none;
        width: 14px;
        height: 14px;
        flex-shrink: 0;
    }

    .btn-action.btn-basket {
        grid-column: auto;
        padding: 8px 4px;
    }
}

/* Grid view modern styles */
.grid-item {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.grid-item:hover {
    transform: translateY(-4px);
}

.grid-item .card {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.25s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.grid-item:hover .card {
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.grid-item .img-thumbnail {
    border-radius: 12px 12px 0 0;
    border: none;
    aspect-ratio: 3/4;
    object-fit: cover;
}

.grid-item .card-body {
    padding: 12px;
}

.grid-item .grid-item--title {
    font-weight: 600;
    color: #111827;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.grid-item .list-group {
    flex: 1;
}

.grid-item .list-group-item {
    padding: 6px 8px;
    font-size: 0.8rem;
    border: none;
    background: transparent;
    border-top: 1px solid #e5e7eb;
}

.grid-item--menu {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
}

.grid-item--menu .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 8px;
    cursor: pointer;
    color: #6b7280;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.grid-item--menu .dropdown-toggle:hover {
    background: #fff;
    color: #111827;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
     width: 100%;
     text-align: center;
     z-index: 99999999999;
     background: #f56565;
     padding: 8px 0;
     color: #fff5f5;
 }
 
 #vio a {
     color: #2d3748;
 }
 
 #colorbox {
     border-radius: 5px;
 }
 
 #cboxLoadedContent {
     padding: 10px;
 }
 
 #cboxOverlay {
     background: #404040;
 }
 
 #cboxTitle {
     font: 10pt/1.8 'Quicksand', sans-serif;
     font-weight: bold;
     padding: 15px 0;
     background: #000000;
     bottom: 0;
     color: #ffffff;
 }
 
 #cboxTopLeft,
 #cboxTopRight,
 #cboxBottomLeft,
 #cboxBottomRight {
     width: 0;
     height: 0;
 }
 
 #cboxMiddleLeft,
 #cboxMiddleRight {
     width: 0;
 }
 
 #cboxBottomCenter,
 #cboxTopCenter {
     height: 0;
 }
 
 #languageMenuButton::after {
     display: none;
 }
 
 .s-chat {
     display: none;
     flex-direction: column;
     width: 320px;
     height: 480px;
     position: fixed;
     bottom: 16px;
     right: 16px;
     background: white;
     box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
     border-radius: 8px;
     padding: 16px;
     overflow: hidden;
     z-index: 99;
 }
 
 .s-chat::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 150px;
     background: #EF6C00;
     z-index: 0;
     box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
 }
 
 .s-chat div,
 .s-chat a,
 .s-chat footer {
     position: relative;
     z-index: 10;
 }
 
 #show-pchat {
     display: block;
     position: absolute;
     width: 30px;
     height: 30px;
     z-index: 20;
     top: 0;
     right: 0;
     background-color: white;
     border-bottom-left-radius: 4px;
     cursor: pointer;
 }
 
 #show-pchat i {
     display: none;
 }
 
 #show-pchat:hover {
     opacity: .9;
 }
 
 #show-pchat:before {
     font-family: Font Awesome\ 5 Free;
     content: "\f2d1";
     text-align: center;
     position: absolute;
     left: 0;
     right: 0;
 }
 
 .s-chat-header {
     font-size: 24px;
     font-weight: 300;
     color: #ebf8ff;
     line-height: 1.2;
 }
 
 .s-chat-content.text-center {
     position: relative;
 }
 
 .s-chat-content.text-center form {
     display: flex;
     flex-direction: column;
     align-items: start;
     padding: 0 16px;
     margin-top: 4px;
 }
 
 .s-chat-content.text-center p:first-of-type {
     text-align: left;
     font-size: 14px;
     color: #FFE0B2;
     font-weight: 300;
     margin: 0 -16px;
     line-height: 1;
 }
 
 .s-chat-content.text-center hr {
     background: white;
     border-radius: 8px;
     box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
     position: absolute;
     top: 24px;
     left: 0;
     right: 0;
     height: 378px;
     z-index: 1;
 }
 
 .s-chat-content.text-center label {
     z-index: 10;
     position: relative;
     margin-top: 20px;
     font-size: 14px;
 }
 
 .s-chat-content.text-center input#message {
     z-index: 10;
     position: relative;
     display: block;
     width: 100%;
     height: calc(1.5em + .75rem + 2px);
     padding: .375rem .75rem;
     font-size: 1rem;
     font-weight: 400;
     line-height: 1.5;
     color: #495057;
     background-color: #fff;
     background-clip: padding-box;
     border: 1px solid #ced4da;
     border-radius: .25rem;
     transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
     margin-bottom: 16px;
 }
 
 .s-chat-content input#message:focus,
 .s-chat-content.text-center input#message:focus {
     color: #495057;
     background-color: #fff;
     border-color: #FFCC80;
     outline: 0;
     box-shadow: 0 0 0 0.2rem rgba(255,204,128,.25);
 }
 
 .s-chat-content label {
     z-index: 10;
     position: relative;
 }
 
 .s-chat-content input#message {
     z-index: 10;
     position: relative;
     display: inline-block;
     height: calc(1.5em + .75rem + 2px);
     padding: .375rem .75rem;
     font-size: 1rem;
     font-weight: 400;
     line-height: 1.5;
     color: #495057;
     background-color: #fff;
     background-clip: padding-box;
     border: 1px solid #ced4da;
     border-radius: .25rem;
     transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
     margin-bottom: 8px;
 }
 
 .s-chat-content .btn.btn-block {
     border: 1px solid #E65100;
     position: relative;
     z-index: 10;
     font-size: 14px;
     background-color: #EF6C00;
     color: #FFF3E0;
 }
 
 .s-chat-content .btn.btn-block:hover {
     background-color: #F57C00;
 }
 
 .s-chat-content:not(.text-center) {
     border-radius: 8px;
     background: white;
     box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
     height: 370px;
     margin: 8px 0;
     padding: 16px;
     font-size: 14px;
 }
 
 .s-chat-content #log {
     height: 270px;
     background-color: white;
     margin: -16px -16px 8px -16px;
     border-radius: 8px 8px 0 0;
     padding: 16px;
     border-bottom: 1px solid #e3e3e3;
     overflow-y: scroll;
 }
 
 .s-chat footer {
     font-size: 11px;
     padding: 16px;
     display: none;
 }
 
 .s-chat footer:not(.text-center) {
     font-size: 11px;
     padding: 0;
     display: block;
 }
 
 .remember_forgot {
     display: flex;
     justify-content: space-between;
 }
 
 .expand {
     margin: 0 -1.25rem -1.25rem -1.25rem;
 }
 
 .navbar-collapse.collapsing,
 .navbar-collapse.collapse.show {
     background-color: #2d3748;
     padding: 16px;
     z-index: 99;
     border-radius: 4px;
     margin-top: 8px;
 }
 
 .forgotButton {
     float: right;
     text-decoration: none;
     padding-top: 16px;
     color: #718096;
 }
 
 .forgotButton:hover {
     text-decoration: none;
     color: #4299E1;
 }
 .highlight{
     color:red;
 }
 
 .biblioPagingTop {
     display: none;
 }
 
 .grid-item {
     font-size: 12.04px;
     font-family: "Open Sauce One", sans-serif;
 }
 
 .grid-item--title {
     box-sizing: border-box;
     color: rgb(33, 33, 33);
     cursor: pointer;
     display: -webkit-box;
     line-height: 18.0667px;
     margin-bottom: 4px;
     max-height: 100%;
     max-width: 100%;
     overflow-x: hidden;
     overflow-y: hidden;
     text-align: left;
     text-overflow: ellipsis;
     white-space: pre-wrap;
     word-break: keep-all;
     -moz-box-orient: vertical;
     line-clamp: 2;
     -webkit-line-clamp: 2;
 }
 
 .grid-item .list-group-item {
     padding: .25rem .5rem;
     display: flex;
     justify-content: space-between;
 }
 
 .grid-item .list-group-item label {
     color: #6D7588;
     padding: 0;
     margin: 0;
 }
 
 img.not-available {
     filter: grayscale(.9);
 }
 
 .grid-item--menu {
     position: absolute;
     top: .5rem;
     right: .5rem;
     z-index: 10;
 }
 
 .grid-item--menu .dropdown-toggle {
     text-decoration: none;
     color: inherit;
 }
 
 .grid-item--menu .dropdown-toggle::after {
     display: none;
 }
 
 pre.sf-dump, pre.sf-dump .sf-dump-default {
     z-index: 888 !important;
 }
 
 .availability-item {
     color: white; 
     padding: 10px; 
     border-radius: 5px
 }
 
 .item-onloan, .item-notforloan  {
     background-color: #f00; 
     width: 100%; 
     display: block;
 }
 
 .item-available {
     background-color: #5bc0de; 
 }
 
 .item-onreserve {
     background-color: orange; 
 }
 
 /* Member Login Modern Design - QJP Uhamka */
 .member-login-container {
     display: flex;
     width: 100%;
     min-height: 80vh;
     background-color: transparent;
     margin: 20px 0;
     gap: 48px;
     align-items: center;
     justify-content: center;
     flex-wrap: nowrap;
     padding: 0 16px;
 }
 
 /* Left Side - Logo Section */
 .member-login-left {
     flex: 0 0 360px;
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 40px;
     background-color: transparent;
 }
 
 .member-logo-container {
     text-align: center;
 }
 
 .qjp-logo {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     margin-bottom: 20px;
 }
 
 .logo-q {
     width: 80px;
     height: 80px;
     position: relative;
     color: #1a365d;
     font-size: 72px;
     font-weight: bold;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }
 
 .logo-q .magnifying-glass {
     width: 100%;
     height: 100%;
     color: #1a365d;
     stroke: currentColor;
     fill: none;
 }
 
 .logo-j,
 .logo-p {
     font-size: 72px;
     font-weight: bold;
     color: #1a365d;
     font-family: 'Times New Roman', serif;
     line-height: 1;
 }
 
 .uhamka-text {
     font-size: 32px;
     font-weight: 600;
     color: #1a365d;
     letter-spacing: 1px;
     font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
     text-transform: none;
 }
 
 /* Right Side - Login Form Section */
 .member-login-right {
     flex: 1 1 560px;
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 32px 40px;
     background-color: transparent;
 }
 
 /* Logo Image */
 .member-logo-image {
     max-width: 300px;
     height: auto;
     display: block;
     margin: 0 auto;
 }
 
 .member-login-form-wrapper {
     width: 100%;
     max-width: 640px;
     margin-left: auto;
     margin-right: auto;
 }
 
 .member-login-message,
 .member-login-input-wrapper {
     max-width: 640px;
     width: 100%;
     margin-left: auto;
     margin-right: auto;
 }
 
 .member-login-title {
     font-size: 24px;
     font-weight: 700;
     color: #2d3748;
     letter-spacing: 0;
     text-transform: none;
     margin-bottom: 30px;
     text-align: left;
 }
 
 .member-login-message {
     font-size: 14px;
     color: #4a5568;
     margin-bottom: 30px;
     line-height: 1.6;
 }
 
 .member-login-form {
     width: 100%;
 }
 
 /* Responsive tweaks for member login */
 @media (max-width: 1024px) {
     .member-login-container {
         flex-wrap: wrap;
         gap: 32px;
         padding: 0 12px;
     }
     .member-login-left,
     .member-login-right {
         flex: 1 1 100%;
         padding: 28px 18px;
     }
     .member-logo-image {
         max-width: 240px;
     }
     .member-login-right {
         padding: 24px 20px;
     }
 }
 
 .member-login-input-wrapper {
     position: relative;
     margin-bottom: 20px;
 }
 
 .member-login-input {
     width: 100%;
     padding: 12px 15px 12px 45px;
     font-size: 16px;
     color: #2d3748;
     background-color: #f7fafc;
     border: 1px solid #e2e8f0;
     border-radius: 8px;
     outline: none;
     transition: all 0.3s ease;
 }
 
 .member-login-input:focus {
     border-color: #1a365d;
     background-color: #ffffff;
     box-shadow: 0 0 0 3px rgba(26, 54, 93, 0.1);
 }
 
 .member-login-input::placeholder {
     color: #718096;
     opacity: 1;
 }
 
 /* Icon Styling for Input Fields */
 .member-login-input[type="text"] {
     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%234a5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E");
     background-repeat: no-repeat;
     background-position: 15px center;
     background-size: 20px;
 }
 
 .member-login-input[type="password"] {
     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%234a5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'%3E%3C/path%3E%3C/svg%3E");
     background-repeat: no-repeat;
     background-position: 15px center;
     background-size: 20px;
     padding-right: 50px;
 }
 
 /* Password Toggle Icon */
 .member-password-toggle {
     position: absolute;
     right: 15px;
     top: 50%;
     transform: translateY(-50%);
     cursor: pointer;
     color: #4a5568;
     font-size: 18px;
     z-index: 10;
     transition: color 0.3s ease;
 }
 
 .member-password-toggle:hover {
     color: #1a365d;
 }
 
 .member-password-toggle i {
     pointer-events: none;
 }
 
 /* Login Button */
 .member-login-button {
     width: 100%;
     padding: 14px 0;
     font-size: 14px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 1px;
     color: #ffffff;
     background-color: #1a365d;
     border: none;
     border-radius: 8px;
     cursor: pointer;
     transition: all 0.3s ease;
     margin-top: 10px;
 }
 
 .member-login-button:hover {
     background-color: #2c5282;
     transform: translateY(-1px);
     box-shadow: 0 4px 12px rgba(26, 54, 93, 0.3);
 }
 
 .member-login-button:active {
     transform: translateY(0);
 }
 
 /* Captcha Styling */
 .member-captcha-wrapper {
     margin-bottom: 20px;
 }
 
 /* Alert Messages */
 .member-login-message .alert {
     padding: 12px 16px;
     margin-bottom: 20px;
     border-radius: 8px;
     font-size: 14px;
 }
 
 .member-login-message .alert-danger {
     background-color: #fed7d7;
     color: #c53030;
     border: 1px solid #fc8181;
 }
 
 .member-login-message .alert-info {
     background-color: #bee3f8;
     color: #2c5282;
     border: 1px solid #90cdf4;
 }
 
 /* Responsive Design */
 @media (max-width: 768px) {
     .member-login-container {
         flex-direction: column;
         min-height: auto;
         padding: 0 10px;
     }
     
     .member-login-left {
         padding: 26px 16px;
         min-height: 200px;
     }
     
     .member-login-right {
         padding: 18px;
         flex: 1;
     }
     
     .qjp-logo {
         gap: 6px;
     }
     
     .logo-q,
     .logo-j,
     .logo-p {
         font-size: 48px;
     }
     
     .logo-q {
         width: 50px;
         height: 50px;
     }
     
     .uhamka-text {
         font-size: 24px;
     }
     
     .member-login-form-wrapper {
         max-width: 100%;
     }
 }
 
 @media (max-width: 480px) {
     .member-login-left {
         padding: 18px 12px;
         min-height: 150px;
     }
     
     .qjp-logo {
         gap: 4px;
     }
     
     .logo-q,
     .logo-j,
     .logo-p {
         font-size: 36px;
     }
     
     .logo-q {
         width: 40px;
         height: 40px;
     }
     
     .uhamka-text {
         font-size: 20px;
     }
     
     .member-login-title {
         font-size: 20px;
     }
 }
 
 /* =========================================================
    Global Responsive Helpers - OPAC Default
    ========================================================= */
 img, video, iframe {
     max-width: 100%;
     height: auto;
 }
 
 .responsive-table,
 .table-responsive {
     width: 100%;
     overflow-x: auto;
     -webkit-overflow-scrolling: touch;
 }
 
 .responsive-table table,
 .table-responsive table {
     min-width: 720px;
 }
 
 input,
 select,
 textarea,
 button,
 .form-control {
     max-width: 100%;
 }
 
 @media (max-width: 992px) {
     .c-header {
         min-height: 360px;
         background-position: center;
     }
     .search {
         margin-top: 0;
     }
     .advanced-wraper {
         position: static;
         top: auto;
         left: auto;
         right: auto;
     }
 }
 
 @media (max-width: 768px) {
     body {
         padding-left: 12px;
         padding-right: 12px;
     }
     .search .card {
         width: 100%;
     }
     .topic li {
         width: 48%;
         height: auto;
         padding: 12px;
     }
     .member-area .c-header,
     .member-area .member-area-header {
         min-height: 64px;
     }
     .collection .card-text {
         font-size: 12px;
     }
 
     .book-card-title {
         font-size: 12px;
     }
 
     .book-card-content {
         padding: 12px;
     }
 
     .book-card-modern {
         border-radius: 14px;
     }
 
     .book-card-modern:hover {
         transform: translateY(-4px) scale(1.01);
     }
     .table-responsive table,
     .responsive-table table {
         min-width: 640px;
     }
     .hero-landing,
     .inner-hero {
         padding: 110px 0 52px;
     }
     .hero-content .display-5 {
         font-size: clamp(1.6rem, 3vw + 1rem, 2.1rem);
     }
     .hero-content .lead {
         font-size: 1rem;
     }
     .floating-search {
         max-width: 100%;
         margin-top: 12px;
     }
 }
 
 @media (max-width: 576px) {
     .c-header {
         min-height: 280px;
     }
     .topic li {
         width: 100%;
     }
     .advanced-wraper {
         padding: 12px;
     }
     .hero-landing,
     .inner-hero {
         padding: 96px 0 40px;
     }
     .hero-content {
         text-align: center;
     }
     .hero-content .lead {
         font-size: 0.95rem;
     }
     .table-responsive table,
     .responsive-table table {
         min-width: 520px;
     }
 }
 
 /* ============================================
    Modern & Elegant Search Form Styles
    ============================================ */
 
 .search-shell-modern-elegant {
     background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.95) 100%);
     border: 1px solid rgba(226, 232, 240, 0.8);
     box-shadow: 0 20px 60px rgba(15, 23, 42, 0.12), 0 0 0 1px rgba(255, 255, 255, 0.5) inset;
     backdrop-filter: blur(12px);
     -webkit-backdrop-filter: blur(12px);
     padding: 40px;
     max-width: 100%;
     width: 100%;
     margin-left: auto;
     margin-right: auto;
     border-radius: 28px;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }
 
 .search-shell-modern-elegant:hover {
     box-shadow: 0 24px 72px rgba(15, 23, 42, 0.16), 0 0 0 1px rgba(255, 255, 255, 0.6) inset;
     transform: translateY(-2px);
 }
 
 .smart-search-head-elegant {
     display: flex;
     justify-content: space-between;
     align-items: center;
     margin-bottom: 24px;
     padding-bottom: 16px;
     border-bottom: 1px solid rgba(226, 232, 240, 0.6);
 }
 
 .text-search-label-elegant {
     color: #0f172a;
     font-weight: 800;
     letter-spacing: 1.6px;
     font-size: 13px;
     background: linear-gradient(135deg, #1d4ed8 0%, #3b82f6 100%);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
 }
 
 .text-search-sub-elegant {
     color: #64748b;
     font-size: 14px;
     font-weight: 500;
     margin-top: 4px;
     display: block;
 }
 
 .badge-soft-primary-elegant {
     background: linear-gradient(135deg, #e0e7ff 0%, #ddd6fe 100%);
     color: #1d4ed8;
     border-radius: 999px;
     padding: 10px 16px;
     font-weight: 700;
     font-size: 12px;
     box-shadow: 0 4px 12px rgba(29, 78, 216, 0.15);
     border: 1px solid rgba(224, 231, 255, 0.8);
     transition: all 0.3s ease;
 }
 
 .badge-soft-primary-elegant:hover {
     transform: translateY(-1px);
     box-shadow: 0 6px 16px rgba(29, 78, 216, 0.2);
 }
 
 .search-input-wrapper-elegant {
     border: 2px solid rgba(226, 232, 240, 0.6);
     box-shadow: 0 8px 32px rgba(15, 23, 42, 0.08), 0 0 0 1px rgba(255, 255, 255, 0.8) inset;
     background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
     border-radius: 999px;
     padding: 6px 6px 6px 4px;
     min-height: 68px;
     gap: 8px;
     flex-wrap: nowrap;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     position: relative;
     overflow: hidden;
 }
 
 .search-input-wrapper-elegant::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: linear-gradient(135deg, rgba(29, 78, 216, 0.05) 0%, rgba(59, 130, 246, 0.03) 100%);
     opacity: 0;
     transition: opacity 0.3s ease;
     pointer-events: none;
 }
 
 .search-input-wrapper-elegant:focus-within {
     border-color: rgba(59, 130, 246, 0.5);
     box-shadow: 0 12px 40px rgba(59, 130, 246, 0.15), 0 0 0 3px rgba(59, 130, 246, 0.1);
     transform: translateY(-1px);
 }
 
 .search-input-wrapper-elegant:focus-within::before {
     opacity: 1;
 }
 
 .search-icon-pill-elegant {
     width: 40px;
     height: 40px;
     border-radius: 999px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     background: transparent;
     color: #2f5aff;
     box-shadow: none;
     margin: 0 0 0 8px;
     transition: none;
     flex-shrink: 0;
     padding: 0;
 }
 
 .search-icon-pill-elegant img {
     display: block;
     width: 22px;
     height: 22px;
 }
 
 .search-icon-pill-elegant:hover {
     transform: none;
     box-shadow: none;
 }
 
 .input-transparent-elegant {
     border: none;
     outline: none;
     background: transparent;
     font-size: 16px;
     min-width: 0;
     color: #0f172a;
     font-weight: 600;
     padding: 0 12px;
     transition: all 0.2s ease;
 }
 
 .input-transparent-elegant::placeholder {
     font-weight: 500;
     color: #94a3b8;
     opacity: 0.8;
 }
 
 .input-transparent-elegant:focus {
     color: #0f172a;
 }
 
 .search-buttons-group {
     gap: 8px;
     flex-shrink: 0;
 }
 
 .btn-primary-elegant {
     background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
     border: none;
     color: #ffffff;
     font-weight: 700;
     font-size: 15px;
     box-shadow: 0 4px 16px rgba(59, 130, 246, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.2);
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     min-height: 56px;
     white-space: nowrap;
 }
 
 .btn-primary-elegant:hover {
     background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
     box-shadow: 0 6px 24px rgba(59, 130, 246, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.3);
     transform: translateY(-2px);
     color: #ffffff;
 }
 
 .btn-primary-elegant:active {
     transform: translateY(0);
     box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
 }
 
 .btn-secondary-elegant {
     background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
     border: 2px solid rgba(59, 130, 246, 0.3);
     color: #1d4ed8;
     font-weight: 700;
     font-size: 15px;
     box-shadow: 0 2px 8px rgba(59, 130, 246, 0.1);
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     min-height: 56px;
     white-space: nowrap;
 }
 
 .btn-secondary-elegant:hover {
     background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
     border-color: rgba(59, 130, 246, 0.5);
     color: #1e40af;
     box-shadow: 0 4px 16px rgba(59, 130, 246, 0.2);
     transform: translateY(-2px);
 }
 
 .btn-secondary-elegant:active {
     transform: translateY(0);
     box-shadow: 0 1px 4px rgba(59, 130, 246, 0.15);
 }
 
 .btn-pill-elegant {
     border-radius: 999px;
     padding: 14px 24px;
 }
 
 .btn-icon-advanced {
     width: 48px;
     height: 48px;
     border-radius: 999px;
     background: transparent;
     border: 2px solid rgba(148, 163, 184, 0.3);
     color: #64748b;
     font-size: 18px;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     cursor: pointer;
     flex-shrink: 0;
 }
 
 .btn-icon-advanced:hover {
     background: rgba(59, 130, 246, 0.1);
     border-color: rgba(59, 130, 246, 0.4);
     color: #1d4ed8;
     transform: translateY(-1px);
     box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
 }
 
 .btn-icon-advanced:active {
     transform: translateY(0);
     box-shadow: 0 2px 6px rgba(59, 130, 246, 0.1);
 }
 
 .btn-icon-advanced:focus {
     outline: none;
     box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
 }
 
 /* Responsive adjustments for elegant search form */
 @media (max-width: 768px) {
     .search-shell-modern-elegant {
         padding: 28px 24px;
         border-radius: 24px;
     }
     
     .search-input-wrapper-elegant {
         flex-wrap: nowrap;
         align-items: center;
         min-height: 56px;
         padding: 8px 10px;
         gap: 6px;
         border-radius: 18px;
     }
     
     .search-icon-pill-elegant {
         width: 36px;
         height: 36px;
         margin: 0 6px 0 4px;
     }
     
     .search-icon-pill-elegant img {
         width: 20px;
         height: 20px;
     }
     
     .input-transparent-elegant {
         font-size: 15px;
         padding: 0 6px;
         min-width: 0;
         flex: 1;
     }
     
     .search-buttons-group {
         width: auto;
         margin-top: 0;
         gap: 6px;
     }
     
     .btn-primary-elegant,
     .btn-secondary-elegant {
         flex: 0 0 auto;
         min-height: 48px;
         font-size: 14px;
         padding: 10px 16px;
     }
     
     .btn-icon-advanced {
         width: 40px;
         height: 40px;
         font-size: 16px;
     }
 }
 
 @media (max-width: 576px) {
     .search-shell-modern-elegant {
         padding: 20px 16px;
         border-radius: 18px;
         box-shadow: 0 14px 34px rgba(15, 23, 42, 0.12), 0 0 0 1px rgba(255, 255, 255, 0.45) inset;
     }
     
     .smart-search-head-elegant {
         flex-direction: column;
         align-items: flex-start;
         gap: 12px;
     }
     
     .badge-soft-primary-elegant {
         align-self: flex-start;
     }
     
     .search-input-wrapper-elegant {
         padding: 6px 8px;
         gap: 6px;
         min-height: 52px;
         border-radius: 16px;
     }
     
     .search-icon-pill-elegant {
         width: 34px;
         height: 34px;
         margin: 0 4px 0 2px;
     }
     
     .search-icon-pill-elegant img {
         width: 18px;
         height: 18px;
     }
     
     .search-buttons-group {
         gap: 6px;
         width: auto;
     }
     
     .btn-primary-elegant,
     .btn-secondary-elegant {
         font-size: 13px;
         padding: 10px 14px;
         min-height: 44px;
     }
     
     .btn-icon-advanced {
         width: 34px;
         height: 34px;
         font-size: 14px;
     }
 }
 
 /* Hide debug box on front-end pages */
 details.debug {
     display: none !important;
 }
 
 /* Prevent long collection labels from overflowing cards */
 .card .badge.badge-primary {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     white-space: normal;
     word-break: break-word;
     text-align: center;
     max-width: 100%;
     line-height: 1.2;
     overflow: hidden;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     line-clamp: 2;
 }
 
 /* Modern Member Card Styles - Community Highlight */
 .member-card-modern {
     background: rgba(255, 255, 255, 0.95);
     border-radius: 20px;
    padding: 28px 22px;
     text-align: center;
     transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
     border: 1px solid rgba(255, 255, 255, 0.2);
     backdrop-filter: blur(10px);
     -webkit-backdrop-filter: blur(10px);
     box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
     position: relative;
     overflow: hidden;
    width: 280px;
    min-height: 420px;
    display: flex;
    flex-direction: column;
 }
 
 .member-card-modern::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 4px;
     background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
     opacity: 0;
     transition: opacity 0.4s ease;
 }
 
 .member-card-modern:hover {
     transform: translateY(-8px);
     box-shadow: 0 20px 48px rgba(0, 0, 0, 0.15);
     border-color: rgba(102, 126, 234, 0.3);
 }
 
 .member-card-modern:hover::before {
     opacity: 1;
 }
 
 .member-card-body {
     position: relative;
     z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
 }
 
 .member-avatar-wrapper {
     width: 120px;
     height: 120px;
     margin: 0 auto 20px;
     position: relative;
     border-radius: 50%;
     background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
     padding: 4px;
     box-shadow: 0 8px 24px rgba(102, 126, 234, 0.3);
     transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
 }
 
 .member-card-modern:hover .member-avatar-wrapper {
     transform: scale(1.05);
     box-shadow: 0 12px 32px rgba(102, 126, 234, 0.4);
 }
 
 .member-avatar {
     width: 100%;
     height: 100%;
     border-radius: 50%;
     object-fit: cover;
     border: 3px solid #ffffff;
     display: block;
 }
 
 .member-name {
     font-size: 16px;
     font-weight: 700;
     color: #1e293b;
     margin: 0 0 8px 0;
     line-height: 1.4;
     word-break: break-word;
 }
 
 .member-type {
     font-size: 13px;
     color: #64748b;
     margin: 0 0 24px 0;
     font-weight: 500;
 }
 
 .member-stats {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 16px;
     padding-top: 20px;
     border-top: 1px solid rgba(226, 232, 240, 0.8);
    margin-top: auto;
 }
 
 .stat-item {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 4px;
 }
 
 .stat-value {
     font-size: 20px;
     font-weight: 700;
     color: #1e293b;
     line-height: 1;
 }
 
 .stat-label {
     font-size: 11px;
     color: #94a3b8;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     font-weight: 600;
 }
 
 .stat-divider {
     width: 1px;
     height: 32px;
     background: linear-gradient(to bottom, transparent, #e2e8f0, transparent);
 }
 
 /* Section Community Highlight - Container for member cards */
 .member-cards-container {
     display: flex;
     flex-wrap: wrap;
     gap: 24px;
     justify-content: center;
 }
 
 /* Section Community Highlight - Remove white background from container */
 .section-contrast .card.bg-white {
     background: transparent !important;
     border: none;
     box-shadow: none;
 }
 
 .section-contrast .card.bg-white .card-body {
     background: transparent !important;
     padding: 0;
 }
 
 /* Responsive adjustments */
 @media (max-width: 768px) {
     .member-card-modern {
         padding: 24px 20px;
         border-radius: 16px;
        width: 100%;
        min-height: unset;
     }
     
     .member-avatar-wrapper {
         width: 100px;
         height: 100px;
         margin-bottom: 16px;
     }
     
     .member-name {
         font-size: 15px;
     }
     
     .member-type {
         font-size: 12px;
         margin-bottom: 20px;
     }
     
     .stat-value {
         font-size: 18px;
     }
     
     .stat-label {
         font-size: 10px;
     }

    .table-responsive-modern {
        border-radius: 10px;
        box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
    }

    .table-responsive-modern table {
        min-width: 460px;
    }

    .member-area .nav-tabs {
        gap: 4px;
    }
 }

/* -----------------------------------
   Detail Page Refresh
----------------------------------- */
.detail-page {
    padding: 32px 0 48px;
}
.detail-hero {
    background: linear-gradient(135deg, #ffffff 0%, #f4f6fb 60%, #e8f1ff 100%);
    color: #0f172a;
    border-radius: 18px;
    padding: 22px;
    margin-bottom: 24px;
    border: 1px solid #e8ecf4;
}
.detail-hero-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.detail-hero-body {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 20px;
    align-items: center;
    margin-top: 16px;
}
.detail-cover-shell {
    background: #fff;
    border-radius: 16px;
    padding: 14px;
    display: flex;
    justify-content: center;
    border: 1px solid #eef1f6;
}
.detail-hero-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.detail-title {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
}
.detail-authors {
    margin: 0;
    opacity: 0.9;
}
.detail-notes {
    margin-top: 8px;
    color: #4b5563;
}
.detail-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.badge-soft-primary {
    background: #e9f0ff;
    color: #0d6efd;
    padding: 6px 12px;
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: .2px;
    border: 1px solid #dce7ff;
}

.meta-chip,
.subject-chips .meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f8fafc;
    color: #334155;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}
.meta-chip-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 6px 0 4px;
}
.subject-chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}

.detail-grid .detail-availability {
    order: 2;
}

.detail-grid > div:not(.detail-availability) {
    order: 1;
}
.detail-grid-secondary {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}
.detail-card {
    background: #fff;
    border: 1px solid #eaecef;
    border-radius: 16px;
    padding: 18px 18px 20px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}
.detail-availability {
    background: linear-gradient(135deg, #f8fbff 0%, #ffffff 100%);
}
.detail-span {
    grid-column: 1 / -1;
}
.availability-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #20c997;
    box-shadow: 0 0 0 6px rgba(32,201,151,0.12);
}
.detail-scroll {
    overflow-x: auto;
    overflow-y: auto;
    max-height: 280px;
    padding-right: 8px;
}
.detail-scroll::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
.detail-scroll::-webkit-scrollbar-track {
    background: transparent;
}
.detail-scroll::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}
.detail-scroll::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
.detail-dl {
    display: grid;
    grid-template-columns: minmax(180px, 26%) 1fr;
    column-gap: 12px;
    row-gap: 8px;
    margin: 0;
}
.detail-dl dt {
    font-weight: 600;
    color: #495057;
}
.detail-dl dd {
    margin: 0;
}
.section-title-line {
    display: flex;
    flex-direction: column;
    margin-bottom: 10px;
}
.section-eyebrow {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #94a3b8;
}

@media (max-width: 767.98px) {
    .detail-page {
        padding: 20px 0 32px;
    }
    .detail-hero {
        padding: 16px;
    }
    .detail-hero-body {
        grid-template-columns: 1fr;
    }
    .detail-cover-shell {
        max-width: 240px;
        margin: 0 auto;
    }
    .detail-grid {
        grid-template-columns: 1fr;
    }
    .detail-dl {
        grid-template-columns: 1fr;
    }
    .detail-actions {
        width: 100%;
    }
    .meta-chip-row {
        width: 100%;
    }
    .detail-grid {
        grid-template-columns: 1fr;
    }
    .detail-span {
        grid-column: auto;
    }
}

/* Availability/Copy Status Styling - Improved Layout */
.availability-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.availability-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 16px;
    align-items: center;
    padding: 14px 16px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    transition: all 0.2s ease;
}

.availability-row:hover {
    background: #f1f5f9;
    border-color: #cbd5e1;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.availability-location {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.availability-location-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: white;
    font-size: 14px;
}

.availability-location-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.availability-location-name {
    font-weight: 600;
    color: #0f172a;
    font-size: 14px;
    line-height: 1.4;
}

.availability-call-number {
    font-size: 12px;
    color: #64748b;
    font-family: 'Courier New', monospace;
}

.availability-item-code {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-end;
    min-width: 200px;
}

.availability-code-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #94a3b8;
    font-weight: 600;
}

.availability-code-value {
    font-family: 'Courier New', monospace;
    font-weight: 600;
    color: #1d4ed8;
    font-size: 13px;
    word-break: break-all;
}

.availability-status {
    display: flex;
    justify-content: flex-end;
}

.availability-item {
    padding: 6px 12px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 12px;
    white-space: nowrap;
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.item-available {
    background-color: #d1fae5;
    color: #065f46;
    border: 1px solid #6ee7b7;
}

.item-onloan {
    background-color: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

.item-notforloan {
    background-color: #fef3c7;
    color: #92400e;
    border: 1px solid #fcd34d;
}

.item-onreserve {
    background-color: #fce7f3;
    color: #831843;
    border: 1px solid #fbcfe8;
}

/* Responsive design for availability */
@media (max-width: 768px) {
    .availability-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .availability-item-code {
        align-items: flex-start;
        min-width: auto;
    }

    .availability-status {
        justify-content: flex-start;
    }

    .availability-item {
        width: 100%;
        text-align: center;
    }
}

/* Programmer section - keep in single row on mobile */
.programmer-section .row {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 1rem;
}

.programmer-section .col-md-4 {
    flex: 0 0 auto;
    width: 33.333%;
    min-width: 100px;
}

@media (max-width: 768px) {
    .programmer-section .row {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 0.75rem;
    }
    
    .programmer-section .col-md-4 {
        flex: 0 0 auto;
        width: 33.333%;
        min-width: 90px;
    }
    
    .programmer-section img {
        width: 60px !important;
        height: 60px !important;
    }
    
    .programmer-section p {
        font-size: 0.6rem !important;
    }
}

/* Modern Modal Category Styling */
#exampleModal .modal-dialog {
    max-width: 700px;
}

#exampleModal .modal-content {
    border: none;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.97) 100%);
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.15), 0 0 0 1px rgba(226, 232, 240, 0.5) inset;
    overflow: hidden;
}

#exampleModal .modal-header {
    border-bottom: 1px solid rgba(226, 232, 240, 0.5);
    padding: 20px 24px;
    background: transparent;
}

#exampleModal .modal-title {
    font-weight: 700;
    font-size: 18px;
    color: #0f172a;
    letter-spacing: -0.3px;
    background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

#exampleModal .modal-header .close {
    opacity: 0.5;
    font-size: 24px;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    color: #64748b;
    text-shadow: none;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.05));
}

#exampleModal .modal-header .close:hover {
    opacity: 1;
    color: #0f172a;
    transform: rotate(90deg) scale(1.1);
}

#exampleModal .modal-header .close:focus {
    outline: none;
    box-shadow: none;
}

#exampleModal .modal-body {
    padding: 24px;
    background: transparent;
}

/* Topic List Styling */
.topic {
    list-style: none !important;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    justify-items: center;
    gap: 12px;
    margin: 0;
    padding: 0;
}

.topic li {
    list-style: none !important;
    margin: 0 !important;
    width: 100%;
}

.topic li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(248, 250, 252, 0.95) 100%);
    border: 1.5px solid rgba(226, 232, 240, 0.7);
    text-decoration: none;
    color: #0f172a;
    min-height: 140px;
    width: 100%;
    max-width: 130px;
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
    position: relative;
    overflow: hidden;
}

.topic li a::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.15), rgba(14, 165, 233, 0.1));
    opacity: 0;
    transition: opacity 0.35s ease;
    z-index: 0;
}

.topic li a > * {
    position: relative;
    z-index: 1;
}

.topic li a:hover {
    transform: translateY(-12px) scale(1.02);
    border-color: rgba(59, 130, 246, 0.4);
    box-shadow: 0 25px 60px rgba(59, 130, 246, 0.15), 0 0 0 1px rgba(59, 130, 246, 0.2) inset;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.98) 100%);
}

.topic li a:hover::before {
    opacity: 1;
}

.topic li a img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    margin-bottom: 8px;
    filter: drop-shadow(0 6px 12px rgba(15, 23, 42, 0.12));
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.topic li a:hover img {
    transform: scale(1.08) translateY(-1px);
    filter: drop-shadow(0 10px 20px rgba(59, 130, 246, 0.18));
}

.topic li a span {
    display: block;
    font-weight: 600;
    font-size: 12px;
    text-align: center;
    line-height: 1.3;
    color: #0f172a;
    letter-spacing: -0.2px;
}

#exampleModal .modal-footer {
    border-top: 1px solid rgba(226, 232, 240, 0.5);
    padding: 12px 24px;
    background: transparent;
}

#exampleModal .modal-footer .text-muted {
    font-size: 11px;
    color: #94a3b8 !important;
}

#exampleModal .modal-footer a {
    color: #3b82f6;
    text-decoration: none;
    transition: all 0.25s ease;
}

#exampleModal .modal-footer a:hover {
    color: #1d4ed8;
    text-decoration: underline;
}

/* Modal Backdrop */
#exampleModal .modal-backdrop {
    background-color: rgba(15, 23, 42, 0.35);
    backdrop-filter: blur(3px);
}

#exampleModal.fade .modal {
    opacity: 0;
}

#exampleModal.show .modal-dialog {
    animation: modalSlideIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes modalSlideIn {
    from {
        transform: translateY(-30px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    #exampleModal .modal-dialog {
        margin: 10px;
        max-width: calc(100% - 20px);
    }
    
    #exampleModal .modal-content {
        border-radius: 16px;
    }
    
    #exampleModal .modal-header {
        padding: 16px 20px;
    }
    
    #exampleModal .modal-title {
        font-size: 16px;
    }
    
    #exampleModal .modal-body {
        padding: 16px;
    }
    
    .topic {
        grid-template-columns: repeat(4, 1fr);
        gap: 10px;
    }
    
    .topic li a {
        min-height: 125px;
        padding: 12px;
        max-width: none;
    }
    
    .topic li a img {
        width: 50px;
        height: 50px;
        margin-bottom: 6px;
    }
    
    .topic li a span {
        font-size: 11px;
    }
}

@media (max-width: 480px) {
    #exampleModal .modal-dialog {
        margin: 8px;
        max-width: calc(100% - 16px);
    }
    
    #exampleModal .modal-header {
        padding: 12px 16px;
    }
    
    #exampleModal .modal-title {
        font-size: 14px;
    }
    
    #exampleModal .modal-body {
        padding: 12px;
    }
    
    .topic {
        grid-template-columns: repeat(4, 1fr);
        gap: 8px;
    }
    
    .topic li a {
        min-height: 110px;
        padding: 10px;
        max-width: none;
    }
    
    .topic li a img {
        width: 45px;
        height: 45px;
        margin-bottom: 4px;
    }
    
    .topic li a span {
        font-size: 10px;
    }
    
    #exampleModal .modal-footer {
        padding: 10px 16px;
    }
    
    #exampleModal .modal-footer .text-muted {
        font-size: 10px;
    }
}

/* Modern News Card Styling */
.news-list-section .card {
    background: transparent;
    border: none;
    box-shadow: none;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
    margin-bottom: 40px;
}

.news-list-section .card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    pointer-events: none;
    z-index: 1;
}

.news-list-section .card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.news-list-section .card-body {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 24px;
    position: relative;
    z-index: 2;
}

.news-list-section .card-body img {
    border-radius: 8px;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.news-list-section .card:hover .card-body img {
    transform: scale(1.05);
}

.news-list-section .content-date {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #667eea;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

.news-list-section .content-date i {
    font-size: 14px;
}

.news-list-section .content-title {
    font-size: 20px;
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.news-list-section .card:hover .content-title {
    color: #667eea;
}

.news-list-section .content-summary {
    font-size: 14px;
    color: #5a6c7d;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-list-section .content-readmore a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #667eea;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.3s ease;
    border-bottom: 2px solid transparent;
    padding-bottom: 2px;
}

.news-list-section .content-readmore a:hover {
    color: #764ba2;
    border-bottom-color: #764ba2;
    gap: 12px;
}

.news-list-section .content-readmore a i {
    transition: transform 0.3s ease;
}

.news-list-section .content-readmore a:hover i {
    transform: translateX(4px);
}

.news-list-section .row {
    gap: 20px;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.news-list-section [class*='col-'] {
    margin-bottom: 20px;
    padding: 0;
    flex: 0 0 100%;
    max-width: 100%;
    min-width: 0;
}

@media (min-width: 576px) {
    .news-list-section .col-sm-6 {
        flex: 0 0 calc(50% - 10px);
        max-width: calc(50% - 10px);
    }
}

@media (min-width: 768px) {
    .news-list-section .col-md-4 {
        flex: 0 0 calc(33.333% - 13.33px);
        max-width: calc(33.333% - 13.33px);
    }
}

.news-list-section .container {
    width: 100%;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
}

/* News Search Form Styling */
.news-header-search-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
}

.news-header-modern {
    flex: 1;
    min-width: 300px;
}

.news-search-form {
    flex: 1;
    min-width: 300px;
}

.news-search-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 50px;
    border: 2px solid rgba(102, 126, 234, 0.3);
    padding: 12px 20px;
    transition: all 0.3s ease;
}

.news-search-input-wrapper:focus-within {
    border-color: #667eea;
    box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
}

.news-search-input-wrapper i {
    color: #667eea;
    font-size: 16px;
    margin-right: 12px;
}

.news-search-input {
    flex: 1;
    border: none;
    background: transparent;
    outline: none;
    font-size: 14px;
    color: #1a1a2e;
    font-weight: 500;
}

.news-search-input::placeholder {
    color: #9ca3af;
    font-weight: 400;
}

.news-search-btn {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    border-radius: 40px;
    padding: 8px 24px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-left: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.news-search-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(102, 126, 234, 0.3);
}

@media (max-width: 768px) {
    .news-page-header {
        padding: 32px 0 24px;
    }

    .news-list-section {
        padding: 24px 0 48px;
    }

    .news-list-section .container {
        padding-left: 12px;
        padding-right: 12px;
    }

    .news-list-section [class*='col-'] {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .news-list-section .card {
        margin-bottom: 20px;
    }

    .news-list-section .card-body {
        padding: 16px;
    }

    .news-list-section .content-title {
        font-size: 1.1rem;
        line-height: 1.45;
    }

    .news-list-section .card-body img {
        width: 100%;
        height: auto;
        max-height: 200px;
        object-fit: cover;
    }

    .news-header-search-wrapper {
        flex-direction: column;
        gap: 20px;
    }

    .news-header-modern,
    .news-search-form {
        width: 100%;
        min-width: 0;
    }

    .news-search-input-wrapper {
        padding: 10px 16px;
    }

    .news-search-btn {
        padding: 6px 16px;
        font-size: 12px;
    }
}

/* Collection type badge: wrap full label */
.modern-result-card .coll-type-badge-wrap .coll-type-badge,
.modern-result-card .coll-type-badge-wrap .badge.badge-primary,
.grid-item .card .card-image-wrapper .badge.badge-primary {
    max-width: 100%;
    width: 100%;
    display: inline-block;
    margin: 0 auto;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    text-align: center;
    line-height: 1.25;
    overflow: visible;
    text-overflow: unset;
}

@media (max-width: 576px) {
    .modern-result-card .coll-type-badge-wrap .coll-type-badge {
        font-size: 0.74rem;
        padding: 7px 10px !important;
    }
}

/* ====== SEARCH FILTER SIDEBAR ====== */
.result-search-body {
    padding-bottom: 48px;
}

.search-filter-column {
    position: relative;
}

.search-filter-sidebar {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.search-filter-sidebar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid #eef2f7;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
    border-radius: 16px 16px 0 0;
}

.search-filter-sidebar__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.search-filter-sidebar__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 10px;
    background: #f1f5f9;
    color: #475569;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.search-filter-sidebar__close:hover {
    background: #e2e8f0;
    color: #0f172a;
}

.search-filter-sidebar__body {
    max-height: calc(100vh - 140px);
    overflow-x: visible;
    overflow-y: auto;
    padding: 4px 6px 20px;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

.search-filter-sidebar__body::-webkit-scrollbar {
    width: 6px;
}

.search-filter-sidebar__body::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 999px;
}

.search-filter-form {
    margin: 0;
}

.search-filter-list {
    margin: 0;
}

.search-filter-section {
    padding: 0 18px !important;
    border-color: #eef2f7 !important;
    overflow: visible;
}

.search-filter-section__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 14px 0;
    border: none;
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: color 0.2s ease;
}

.search-filter-section__toggle:hover,
.search-filter-section__toggle:focus {
    outline: none;
    color: var(--primary);
}

.search-filter-section__title {
    font-size: 0.88rem;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.35;
}

.search-filter-section__chevron {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    border-right: 2px solid #94a3b8;
    border-bottom: 2px solid #94a3b8;
    transform: rotate(45deg);
    transition: transform 0.25s ease, border-color 0.2s ease;
}

.search-filter-section__toggle.collapsed .search-filter-section__chevron,
.search-filter-colltype-group__toggle.collapsed .search-filter-section__chevron {
    transform: rotate(-45deg);
}

.search-filter-section__body {
    padding-bottom: 4px;
}

.search-filter-section__content {
    padding-bottom: 14px;
    overflow: visible;
}

/* Override Bootstrap form-check absolute positioning (causes left clip) */
.search-filter-sidebar .form-check {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding-left: 0 !important;
    margin: 0;
    overflow: visible;
}

.search-filter-sidebar .form-check-input {
    position: static !important;
    margin: 0.15rem 0 0 !important;
    flex-shrink: 0;
    float: none;
    width: 1rem;
    height: 1rem;
    cursor: pointer;
}

.search-filter-year-range {
    margin-left: 0;
    margin-right: 0;
}

.search-filter-year-sep {
    color: #94a3b8;
    font-weight: 600;
    flex-shrink: 0;
}

.search-filter-year-range .form-control {
    border-radius: 10px;
    border-color: #e2e8f0;
    font-size: 0.85rem;
    text-align: center;
}

.search-filter-year-range .form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12);
}

.search-filter-slider {
    width: 100%;
}

.search-filter-sidebar .irs {
    margin-bottom: 8px;
    font-family: inherit;
}

.search-filter-sidebar .irs--flat .irs-bar,
.search-filter-sidebar .irs--flat .irs-from,
.search-filter-sidebar .irs--flat .irs-to,
.search-filter-sidebar .irs--flat .irs-single {
    background: var(--primary);
}

.search-filter-sidebar .irs--flat .irs-handle > i:first-child {
    background: var(--primary);
}

.search-filter-sidebar .irs--flat .irs-from:before,
.search-filter-sidebar .irs--flat .irs-to:before,
.search-filter-sidebar .irs--flat .irs-single:before {
    border-top-color: var(--primary);
}

.search-filter-check {
    padding: 6px 0;
    min-height: auto;
}

.search-filter-sidebar .form-check-label,
.search-filter-label {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0;
    font-size: 0.84rem;
    line-height: 1.45;
    color: #334155;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    cursor: pointer;
}

.search-filter-label--group {
    color: #0f172a;
    font-size: 0.82rem;
}

.search-filter-colltype-group {
    margin-bottom: 10px;
    border: 1px solid #e8edf3;
    border-radius: 12px;
    background: #f8fafc;
    overflow: visible;
}

.search-filter-colltype-group__header {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 12px;
}

.search-filter-colltype-group__toggle {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin-top: 2px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    transition: background 0.2s ease;
}

.search-filter-colltype-group__toggle:hover {
    background: #eef2ff;
    color: var(--primary);
}

.search-filter-colltype-group__body {
    padding: 4px 12px 12px;
    background: #fff;
    border-top: 1px solid #eef2f7;
    border-radius: 0 0 12px 12px;
}

.search-filter-section__content a[data-toggle="collapse"] {
    display: inline-block;
    margin-top: 8px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--primary);
}

.search-filter-actions {
    position: sticky;
    bottom: -20px; /* Offset the 20px padding-bottom of .search-filter-sidebar__body */
    z-index: 20;
    padding: 12px 18px 18px;
    border-top: 1px solid #eef2f7;
    background: #fafbfc;
    border-radius: 0 0 16px 16px;
    margin: 0 -6px; /* Offset the padding of sidebar body so it spans full width */
}

.search-filter-apply-btn {
    border-radius: 12px;
    padding: 10px 16px;
    font-weight: 600;
    font-size: 0.9rem;
    border: none;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    box-shadow: 0 4px 14px rgba(29, 78, 216, 0.28);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.search-filter-apply-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(29, 78, 216, 0.35);
}

.search-filter-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 10px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    color: #0f172a;
    font-size: 0.9rem;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.search-filter-toggle:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.search-filter-backdrop {
    display: none;
}

@media (min-width: 768px) {
    .search-filter-column {
        position: sticky;
        top: 16px;
        align-self: flex-start;
        z-index: 20;
    }
}

@media (max-width: 767.98px) {
    .search-filter-column {
        position: static;
        width: 0;
        max-width: 0;
        flex: 0 0 0;
        padding: 0;
        overflow: visible;
    }

    .search-results-column {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .search-filter-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1040;
        background: rgba(15, 23, 42, 0.45);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.28s ease, visibility 0.28s ease;
    }

    body.search-filter-open .search-filter-backdrop {
        opacity: 1;
        visibility: visible;
    }

    .search-filter-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        z-index: 1050;
        width: min(320px, 88vw);
        max-width: 88vw;
        border-radius: 0 16px 16px 0;
        transform: translateX(-105%);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: 8px 0 32px rgba(15, 23, 42, 0.18);
    }

    body.search-filter-open .search-filter-sidebar {
        transform: translateX(0);
    }

    .search-filter-sidebar__body {
        max-height: calc(100vh - 64px);
    }

    body.search-filter-open {
        overflow: hidden;
    }
}

/* ── Instagram Pill Button ── */
.btn-instagram-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(45deg, #833ab4, #fd1d1d, #fcb045);
    color: #fff !important;
    padding: 12px 24px;
    border-radius: 50px;
    text-decoration: none !important;
    font-size: 0.95rem;
    font-weight: 500;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(131, 58, 180, 0.3);
}
.btn-instagram-pill:hover {
    color: #fff !important;
    text-decoration: none !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(131, 58, 180, 0.45);
}