:root{--bbvc-blue:#0b5ed7;--bbvc-blue-dark:#0b2f6b;--bbvc-sky:#eaf7ff;--bbvc-gold:#f4b942;--bbvc-green:#0f9f78;--bbvc-orange:#f47b20;--bbvc-cyan:#18a9e6;--bbvc-ink:#183153}
html{scroll-behavior:smooth}body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;background:#eef9ff;color:var(--bbvc-ink)}
.bbvc-bg{background:radial-gradient(circle at 15% 0%,rgba(255,255,255,.95),transparent 34%),linear-gradient(180deg,#dff3ff 0%,#f6fbff 48%,#edf8ff 100%)}
.bbvc-glass{background:rgba(255,255,255,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.bbvc-shadow{box-shadow:0 16px 40px rgba(18,82,140,.10)}
.bbvc-gold-ring{box-shadow:inset 0 0 0 1px rgba(244,185,66,.65)}
.bbvc-focus:focus{outline:none;box-shadow:0 0 0 4px rgba(24,169,230,.16);border-color:#18a9e6}
.bbvc-grid-bg{background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:28px 28px}
.bbvc-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.bbvc-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(18,82,140,.11)}
.category-section{scroll-margin-top:6rem}
.category-section:focus-visible,.category-menu a:focus-visible,.category-menu button:focus-visible,.mobile-bottom-nav button:focus-visible{outline:3px solid #18a9e6;outline-offset:3px}
.category-menu-backdrop{position:fixed;inset:0;z-index:35;background:rgba(11,47,107,.28)}
.category-menu{position:fixed;z-index:40;left:12px;right:12px;bottom:calc(88px + env(safe-area-inset-bottom));max-height:calc(100vh - 112px - env(safe-area-inset-bottom));max-height:calc(100dvh - 112px - env(safe-area-inset-bottom));display:flex;flex-direction:column;border:1px solid #dbeafe;border-radius:24px;background:#fff;box-shadow:0 16px 48px rgba(11,47,107,.2);overflow:hidden}
.category-menu[hidden],.category-menu-backdrop[hidden]{display:none}
.category-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid #e2e8f0;flex-shrink:0}
.category-menu-heading h2{font-size:18px;font-weight:800;color:var(--bbvc-blue-dark)}
.category-menu-heading p{margin-top:4px;font-size:12px;color:#64748b}
.category-menu-close{display:grid;place-items:center;min-width:48px;min-height:48px;border-radius:14px;background:#eff6ff;color:var(--bbvc-blue)}
.category-menu-list{overflow-y:auto;overscroll-behavior:contain;padding:8px;min-height:0}
.category-menu-link{display:flex;align-items:center;gap:12px;padding:12px 8px;border-radius:16px;min-height:64px}
.category-menu-link:hover,.category-menu-link:active{background:#eff6ff}
.category-menu-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;color:#fff}
.category-menu-label{flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px;font-weight:700;line-height:1.5}
.category-menu-label small{display:block;margin-top:2px;font-size:11px;font-weight:400;color:#64748b}
.category-menu-empty{padding:20px 12px;text-align:center;font-size:14px;line-height:1.7;color:#64748b}
.mobile-bottom-nav{bottom:calc(12px + env(safe-area-inset-bottom))}
#category-menu-toggle[aria-expanded="true"]{background:#eff6ff;color:var(--bbvc-blue)}
@media (min-width:768px){.category-menu,.category-menu-backdrop{display:none}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media (max-width:767px){.mobile-safe{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}.tap-target{min-height:48px}}
