:root {
        --bs-font-sans-serif: 'Inter', sans-serif;
        --font-display: 'Space Grotesk', sans-serif;
      }

      html, body {
        height: 100%;
      }
      
      body {
        font-family: var(--bs-font-sans-serif);
        background-color: #fbfcff;
        color: #4a4a4a;
        overflow-x: hidden;
        display: flex;
        flex-direction: column;
      }

      main {
        flex: 1;
      }
      
      .font-display {
        font-family: var(--font-display);
      }
      
      /* Card Rounded Standard */
      .rounded-3xl {
        border-radius: 1.5rem !important;
      }
      
      .rounded-4xl {
        border-radius: 2rem !important;
      }
      
      /* Header & Soft Backdrop */
      .sticky-nav {
        position: sticky;
        top: 0;
        z-index: 1040;
        background-color: rgba(255, 255, 255, 0.9);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border-bottom: 1px solid #f1f1f1;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.02);
      }
      
      /* Custom Category Cards with modern light-gray-to-white gradients */
      .cat-card {
        border: 1px solid #e5e7eb;
        padding: 0.825rem 0.75rem;
        border-radius: 1.5rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        cursor: pointer;
        text-decoration: none;
        height: 100%;
        position: relative;
        background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
      }
      
      .cat-card:hover {
        transform: translateY(-4px) scale(1.02);
        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06);
        border-color: #d1d5db;
      }
      
      /* Circular image icons with white rims and dual shadows */
      .local-icon-img {
        width: 65px;
        height: 65px;
        object-fit: contain;
        background-color: #ffffff;
        border-radius: 50% !important;
        border: 1.5px solid #ffffff;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.04);
        padding: 5px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      }
      
      .cat-card:hover .local-icon-img {
        transform: scale(1.1) rotate(2deg);
      }

      .arrow-hover {
        position: absolute;
        bottom: 1rem;
        right: 1rem;
        opacity: 0;
        transform: translateX(5px);
        transition: all 0.3s ease;
        color: #404040;
      }

      .cat-card:hover .arrow-hover {
        opacity: 1;
        transform: translateX(0);
      }

      .cat-card-title {
        font-size: 1rem;
      }
      
      /* Search Section styling: very lightweight, compact and clean */
      .search-box-container {
        background-color: #ffffff;
        border-radius: 1.5rem;
        border: 1px solid #e5e7eb;
        box-shadow: 0 2px 10px rgba(0,0,0,0.01);
      }
      
      .search-input-group {
        border-right: 1px solid #e1e4e8;
      }
      @media (max-width: 767.98px) {

        /* Custom Category Cards with modern light-gray-to-white gradients */
        .cat-card {
          padding: 0.75rem 0.60rem;
          border-radius: 1.5rem;
        }

        .cat-card-title {
          font-size: 0.8rem;
        }

        /* Circular image icons with white rims and dual shadows */
        .local-icon-img {
          width: 55px;
          height: 55px;
          border: 1.2px solid #ffffff;
          padding: 5px;
        }
        .search-box-container {
          border-radius: 1.25rem;
        }
        .search-input-group {
          border-right: none;
          border-bottom: 1px solid #e1e4e8;
          padding-bottom: 0.5rem;
          margin-bottom: 0.5rem;
        }
      }
      
      .search-bar-label {
        font-size: 0.625rem;
        letter-spacing: 0.05em;
        font-weight: 800;
        text-transform: uppercase;
        color: #8e95a5;
        margin-bottom: 0.1rem;
        text-align: left;
      }
      
      .search-bar-input {
        border: none;
        background: transparent;
        font-weight: 700;
        color: #1f2937;
        padding: 0;
        width: 100%;
        font-size: 0.85rem;
      }
      
      .search-bar-input::placeholder {
        color: #9ca3af;
        font-weight: 500;
      }
      
      .search-bar-input:focus {
        outline: none;
        box-shadow: none;
      }
      
      /* Clean Dropdown Selection */
      .search-select {
        border: none;
        background: transparent;
        font-weight: 700;
        color: #1f2937;
        padding: 0;
        font-size: 0.85rem;
        width: 100%;
        cursor: pointer;
      }
      .search-select:focus {
        outline: none;
        box-shadow: none;
      }
      
      /* Custom Dropdown Styling */
      @media (min-width: 992px) {
        .dropdown-menu {
          min-width: 240px !important;
          margin-top: 10px !important;
          border: 1px solid #e5e7eb !important;
        }
      }
      @media (max-width: 991.98px) {
        .dropdown-menu {
          width: 100% !important;
          max-width: 100% !important;
          box-shadow: none !important;
          border: 1px solid #f3f4f6 !important;
          padding: 0.75rem !important;
          border-radius: 1rem !important;
          background-color: #ffffff !important;
        }
        
        /* Adjust collapse background on mobile to be solid white (not transparent) */
        .navbar-collapse {
          background-color: #ffffff !important;
          padding: 0.75rem !important;
          border-radius: 1.25rem;
          margin-top: 0.75rem;
          box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
          border: 1px solid #e1e4e8;
        }

        .nav-link-custom {
          font-size: 0.95rem !important;
          padding: 0.65rem 1.25rem !important;
        }
      }

      /* Premium Primary Button */
      .btn-premium {
        background-color: #111827;
        color: #ffffff;
        border-radius: 1.25rem;
        font-weight: 700;
        padding: 0.625rem 1.75rem;
        border: none;
        font-size: 0.85rem;
        transition: all 0.2s ease;
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
      }
      .btn-premium:hover {
        background-color: #374151;
        color: #ffffff;
      }

      /* Clean Button - Light weight outline-style */
      .btn-clean {
        background-color: #ffffff;
        color: #1f2937;
        border: 1px solid #e5e7eb;
        border-radius: 1.25rem;
        font-weight: 600;
        padding: 0.625rem 1.5rem;
        font-size: 0.85rem;
        transition: all 0.2s ease;
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
      }
      .btn-clean:hover {
        background-color: #f9fafb;
        color: #111827;
        border-color: #d1d5db;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
      }
      
      /* Product Cards & Events Cards Transitions */
      .premium-card {
        background-color: #ffffff;
        border: 1px solid #f1f2f4;
        border-radius: 1.5rem;
        overflow: hidden;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        height: 100%;
        display: flex;
        flex-direction: column;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.015);
      }
      
      .premium-card:hover {
        border-color: #e5e5e5;
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
        transform: translateY(-4px);
      }
      
      .premium-card .card-img-wrapper {
        position: relative;
        aspect-ratio: 16/10;
        overflow: hidden;
        background-color: #f5f5f5;
        width: 100%;
      }
      
      .premium-card .card-img-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
      }
      
      .premium-card:hover .card-img-wrapper img {
        transform: scale(1.05);
      }
      
      /* Overlays */
      .badge-category {
        background-color: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
        color: #171717;
        font-weight: 800;
        font-size: 0.6rem;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        padding: 0.25rem 0.65rem;
        border-radius: 50rem;
        box-shadow: 0 2px 5px rgba(0,0,0,0.05);
      }
      
      .badge-price {
        position: absolute;
        bottom: 0.75rem;
        right: 0.75rem;
        background-color: rgba(17, 24, 39, 0.8);
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
        color: #ffffff;
        font-weight: 750;
        font-size: 0.65rem;
        padding: 0.35rem 0.65rem;
        border-radius: 50rem;
      }
      
      
      /* Navigation links styles */
      .nav-link-custom {
        font-weight: 600;
        color: #555555;
        font-size: 0.8rem;
        padding: 0.5rem 1rem !important;
        border-radius: 50rem;
        transition: all 0.2s ease;
      }
      .nav-link-custom:hover {
        background-color: #f5f7fa;
        color: #171717;
      }
      .nav-link-custom.active {
        background-color: transparent !important;
        color: #171717 !important;
      }
      
      /* CSS Dropdown hover support (sem javascript fallback) */
      .dropdown:hover .dropdown-menu {
        display: block !important;
        margin-top: 0;
      }
      
      /* Tirar a linha embaixo do texto (remove underlines completely) */
      a, .nav-link, .nav-link-custom, .dropdown-item, .btn, a:hover, .nav-link-custom:hover {
        text-decoration: none !important;
      }
      
      /* Eventos Category Card styling */
      .cat-eventos {
        background: linear-gradient(135deg, #fef2f2 0%, rgba(254, 226, 226, 0.5) 100%);
        color: #991b1b;
        border-color: #fee2e2;
      }

      /* Subtitle layouts */
      .section-badge {
        display: inline-block;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background-color: #ef4444;
      }
      
      /* Custom card body */
      .premium-card-body {
        padding: 1.25rem;
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
      }
      
      .line-clamp-2 {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;  
        overflow: hidden;
      }
      .line-clamp-1 {
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;  
        overflow: hidden;
      }
      
      /* Custom scroll offset target */
      .section-target {
        scroll-margin-top: 100px;
      }