    /* Reglas para sticky footer */
    @font-face {
      font-family: 'GeorgiaCustom';
      src: url('../georgia-2/georgia.ttf') format('truetype');
      font-weight: 400; /* Normal */
      font-style: normal;
    }
    html, body {
      height: 100%;
      margin: 0;
    }
    body {
      display: flex;
      flex-direction: column;
      font-family: 'GeorgiaCustom', serif;
      background-color: #f8f5f2;
      color: #4d4d4d;
      background-image: url("https://vljaisdvadywiyqrvryd.supabase.co/storage/v1/object/public/categories_images//fondo.png");
    }
    main {
      flex: 1;
    }
    
    /* APP BAR (como estaba originalmente) */
    .navbar {
      background-color: #fff;
      border-bottom: 2px solid #ddd;
      padding: 10px 15px;
    }
    .navbar-brand img {
      width: 100px;
    }
    .nav-link {
      font-weight: bold;
      color: #365a54 !important;
      font-size: 16px;
    }
    .nav-link:hover {
        color: #ffe0b2 !important;
    }
    .icon {
      width: 22px;
    }
    
    /* CONTENEDOR PRINCIPAL */
    .catalogo-container {
      display: flex;
      max-width: 1200px;
      margin: auto;
      padding: 20px;
      margin-top: 20px;
    }
    
    /* SIDEBAR */
    .sidebar {
      width: 30vw;
      background: #f8e8dc;
      padding: 20px;
      margin: 20px;
      max-width: fit-content;
      border-radius: 10px;
      align-self: flex-start;
      max-height: 80vh;
    }
    .categorias-lista {
      overflow-y: auto;
      max-height: 50vh;
    }
    .sidebar h4 {
      font-weight: bold;
      margin-bottom: 10px;
    }
    .sidebar input {
      width: 100%;
      padding: 8px;
      border: 1px solid #ccc;
      border-radius: 5px;
    }
    .sidebar ul {
      list-style: none;
      padding: 0;
    }
    .sidebar li {
      padding: 8px 0;
      font-size: 16px;
      color: #4d4d4d;
      cursor: pointer;
      transition: font-weight 0.3s;
    }
    .sidebar li:hover {
      font-weight: bold;
    }
    
    /* PRODUCTOS */
    .productos {
      flex-grow: 1;
      display: grid;
      grid-template-columns: repeat(3, 1fr); /* 3 productos por fila en escritorio */
      gap: 20px;
      padding: 20px;
    }

    .alert-primary{
      background-color: #365a54;
      color: white;
      border-color: #365a54;
    }
    .producto {
      background: white;
      padding: 15px;
      border-radius: 10px;
      text-align: center;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.15);
      width: 100%;
      height: auto;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    button{
        background-color: transparent;
        border: none;
    }
    .producto:hover {
      transform: translateY(-5px);
      box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.2);
    }
    .producto img {
      width: 100%;
      height: 200px;
      border-radius: 10px;
      object-fit: cover;
      margin-bottom: 10px;
    }
    .producto h3 {
      font-size: 18px;
      font-weight: bold;
    }
   
    .desc {
      margin: 2px;
      color: grey;
      font-weight: bold;
      font-size: 12px;
    }
    
    .producto button {
      background-color: #3e2723;
      color: white;
      border: none;
      padding: 10px;
      border-radius: 5px;
      cursor: pointer;
      transition: background-color 0.3s;
    }

    .producto button:hover {
      background-color: #365a54;
    }

    .btn-primary.focus, .btn-primary:focus{
      background-color: #365a54;
      border-color: #365a54;
      box-shadow: 0,0,0,.2rem, #365a54;
    }

    
    /* Alerta fija */
    .alert-fixed {
      position: fixed;
      bottom: 20px;
      right: 20px;
      z-index: 1050;
    }
    
    /* Loading Overlay */
    .loading-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(248,245,242,0.8);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 10000;
    }
    
    /* FOOTER con color marrón original */
    footer {
      background-color: #3e2723;
      color: #f3e5ab;
      padding: 20px 0;
      text-align: center;
    }
    
    /* MEDIA QUERIES */
    
    /* Desktop: aplica padding-top para evitar que el contenido quede tapado por el appbar */
    @media (min-width: 992px) {
      body {
        padding-top: 90px;
      }
      .navbar-nav{
      width: 80%;
      display: flex;
      justify-content: space-around;

    }
    .navbar-collapse {
      justify-content: space-around;
      
    }
    
    }
    
    /* Mobile: ajustar el botón para abrir el sidebar y otros elementos */
    @media (max-width: 991px) {
      /* Evitar que el botón quede tapado por el appbar */
      .mobile-sidebar-btn {
        margin-top: 70px; /* Ajusta este valor según la altura del appbar en mobile */
      }
      .catalogo-container {
        flex-direction: column;
      }
      .sidebar {
        width: 100vw; /* Sidebar ocupa el 100% del ancho en mobile */
        margin: 0 0 20px 0;
        max-height: none;
        border-radius: 5px;
      }
      .productos {
        grid-template-columns: repeat(2, 1fr);
      }
    }
    
    @media (max-width: 600px) {
      .productos {
        grid-template-columns: repeat(1, 1fr); /* 1 producto por fila en móviles */
      }
    }

    .whatsapp-float {
      position: fixed;
      width: 60px;
      height: 60px;
      bottom: 40px;
      right: 40px;
      background-color: white;
      color: #FFF;
      border-radius: 50%;
      padding: 10px;
      text-align: center;
      font-size: 30px;
      z-index: 100;
      display: flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
    }

    .price {
      color: #365a54;
      font-size: 16px;
      font-weight: bold;
    }


    .btn-primary:hover{
      background-color: #365a54;
      border-color: #365a54;
      box-shadow: 0 0 0 .2rem rgba(54,90,84,.5);

    }



    .btn-primary:not(:disabled):not(.disabled):active{
      background-color: #365a54;
      border-color: #365a54;
      box-shadow: 0 0 0 .2rem rgba(54,90,84,.5);

    }




    .btn-primary.focus, .btn-primary:focus {
      background-color: #365a54;
      border-color: #365a54;
      box-shadow: 0 0 0 .2rem rgba(54,90,84,.5);
    }