html, body { background: #18140F; }
  body {
    font-family: 'Manrope', sans-serif;
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  ::-webkit-scrollbar { display: none; }
  * { scrollbar-width: none; }

  /* Barra de categorías: scroll horizontal sin salto de layout */
  .cat-scroll { -webkit-overflow-scrolling: touch; }

  /* Hoja inferior del carrito */
  #cart-sheet {
    transform: translateY(100%);
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
  }
  #cart-sheet.open { transform: translateY(0); }

  #cart-backdrop {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.32s ease;
  }
  #cart-backdrop.open {
    opacity: 1;
    pointer-events: auto;
  }

  /* Barra flotante del carrito */
  #floating-bar {
    transform: translateY(120%);
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  }
  #floating-bar.visible { transform: translateY(0); }

  .stepper-btn:active { transform: scale(0.92); }

  input:focus-visible, textarea:focus-visible, button:focus-visible {
    outline: 2px solid #D4A441;
    outline-offset: 2px;
  }