        /* Fuente personalizada Runboy */
        @font-face {
            font-family: 'Runboy';
            src: url('fonts/Runboy.woff2') format('woff2'),
                url('fonts/Runboy.woff') format('woff'),
                url('fonts/Runboy.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
        }

        /* Aplicar Oxygen por defecto y Runboy solo en h1 y h2 */
        body,
        html {
            font-family: 'Oxygen', sans-serif;
            color: rgb(255, 255, 255);
            background-color: rgba(0, 0, 0, 0.9);
            padding-top: 70px;
            padding-bottom: 70px;
            overflow-x: hidden;
        }

        h1,
        h2 {
            font-family: 'Runboy', sans-serif;
        }

        /* Aumenta el tamaño del texto para la clase large-header */
        .large-header {
            font-size: calc(1.3 * 2rem);
            /* Incrementa el tamaño normal en 30% */
            font-weight: 700;
            /* Asegura un peso fuerte */
        }


        :root {
            --custom-color: #010101;
        }

        /* Ajuste de imagen de navbar */
        .navbar-brand img {
            width: 200px;
            height: auto;
            display: flex;
            align-items: center;
        }

        /* Ajuste de imagen fluida */
        .img-fluid {
            max-width: 800px;
            height: auto;
        }

        .sticky-top {
            position: sticky;
            top: 0;
            z-index: 1020;
        }



        /* Estilos de la tarjeta */
        .card {
            border: none;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
            transition: transform 0.3s ease-in-out;
        }

        /* Force category cards to be transparent with white border/text (override Bootstrap .btn) */
        a.card.btn,
        .card.btn {
            background-color: transparent !important;
            color: #ffffff !important;
            border: 2px solid rgba(255,255,255,0.9) !important;
            box-shadow: none !important;
            text-decoration: none !important;
        }

        a.card.btn .card-body h3,
        a.card.btn h3,
        .card.btn h3,
        .card.btn .card-body h3 {
            color: #ffffff !important;
            margin: 0;
        }

        a.card.btn:hover,
        .card.btn:hover {
            background-color: rgba(255,255,255,0.06) !important;
            transform: scale(1.02);
        }
        /* Pie de la tarjeta */
        .card-footer {
            background-color: var(--custom-color);
            border: none;
            padding: 1rem;
            text-align: center;
            flex-shrink: 0;
            height: auto;
            color: #fff;
        }

        /* Efecto de hover en la tarjeta */
        .card:hover {
            transform: scale(1.02);
        }

        /* Contenedor de imagen en el modal */
        .img-container {
            display: flex;
            justify-content: center;
            align-items: center;
            overflow: hidden;
            max-height: 350px;
            margin: 0 auto;
        }

        .img-container img {
            max-height: 350px;
            width: auto;
            object-fit: contain;
            object-position: center;
        }

        /* Estilos del modal */
        .modal-dialog {
            width: 90vw;
            max-width: 90vw;
            margin: auto;
        }

        .modal-content {
            border-radius: 15px;
            border: none;
            box-shadow: 5px 10px 20px -10px #edbec3;
            background-color: #000000;
            color: #ffffff;
            max-height: 80vh;
            overflow-y: auto;
        }

        .modal-header {
            border-bottom: none;
        }

        .modal-body {
            text-align: center;
            margin-top: 0;
            padding-top: 0;
        }

        .modal-body img {
            border-radius: 25px;
        }

        .modal-footer {
            border-top: none;
        }

        .modal-backdrop {
            transition: opacity 0.3s ease-in-out;
            opacity: 0.7;
        }

        /* Estilo del overlay en las tarjetas */
        .card-overlay-bottom {
            background-color: rgba(0, 0, 0, 0.8);
            opacity: 0.9;
            visibility: hidden;
            transition: opacity 0.5s ease, transform 0.5s ease, visibility 0.5s ease;
            padding: 15px;
            text-align: center;
            transform: translateY(100%);
        }

        .product-card:hover .card-overlay-bottom {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        /* Estilo de los cuadros de referencia de precio */
        .price-option {
            padding: 8px 12px;
            color: white;
            border: 2px solid white;
            border-radius: 5px;
            font-size: 1rem;
            font-weight: bold;
            transition: background-color 0.3s ease, color 0.3s ease;
        }

        .price-option:hover {
            background-color: white;
            color: black;
        }

        /* Contenedor de la lista de productos */
        .product-list {
            gap: 20px;
        }

        .product-card {
            overflow: hidden;
            border-radius: 10px;
        }

        .product-image {
            background-size: cover;
            /* Asegura que la imagen llene el contenedor sin distorsionarse */
            background-position: center;
            background-repeat: no-repeat;
            width: 100%;
            /* Ajusta el ancho del contenedor al ancho disponible */
            height: 250px;
            /* Fija la altura del contenedor */
            max-width: 100%;
            /* Limita el ancho al 100% del espacio disponible */
            overflow: hidden;
        }



        /* Información y precios en la capa inferior con efecto de opacidad */
        .product-info {
            background-color: rgba(0, 0, 0, 0.75);
            text-align: center;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .product-card:hover .product-info {
            opacity: 1;
        }

        .price {
            font-size: 1rem;
            font-weight: bold;
            color: #f8f9fa;
        }

        @media (max-width: 768px) {
            .product-card {
                width: 100%;
            }
        }

        /* Estilos para el botón de "volver arriba" */
        .btn-back-to-top {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background-color: transparent;
            border: 2px solid white;
            padding: 10px;
            display: none;
            transition: opacity 0.3s ease;
            z-index: 1000;
        }

        .btn-back-to-top:hover {
            background-color: rgba(255, 255, 255, 0.1);
        }

        .btn-back-to-top i {
            font-size: 1.2rem;
        }
