        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }

        body {
            font-family: 'Inter', sans-serif; 
            background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 20px;
            padding-top: 80px;
            color: #333;
            
            
        }
        bodyc {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            margin: 0;
            padding: 20px;
            background-color: #eef1f5;
            color: #333;
            display: flex;
            justify-content: center;
            align-items: flex-start;
            min-height: 100vh;
        }
        .font-serif {
            font-family: 'Playfair Display', serif;
        }
        /* Estilos para la barra de navegación */
        nav {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            background: rgba(255, 255, 255, 0.95);
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
            z-index: 1000;
            padding: 15px 20px;
        }

        .nav-container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .nav-logo {
            font-size: 1.5rem;
            font-weight: bold;
            color: #2c3e50;
        }

        .nav-logo img {
            height: 40px;
            vertical-align: middle;
        }

        .nav-menu {
            display: flex;
            gap: 20px;
        }

        .nav-menu a {
            color: #2c3e50;
            text-decoration: none;
            font-size: 1rem;
            font-weight: 500;
            padding: 10px 15px;
            border-radius: 5px;
            transition: all 0.3s ease;
        }

        .nav-menu a:hover {
            background: #6a11cb;
            color: white;
        }

        .nav-toggle {
            display: none;
            font-size: 1.5rem;
            background: none;
            border: none;
            color: #2c3e50;
            cursor: pointer;
        }

        .header {
            text-align: center;
            margin-bottom: 30px;
            color: white;
            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
            width: 100%;
        }

        .header h1 {
            font-size: 2.8rem;
            margin-bottom: 10px;
        }

        .header p {
            font-size: 1.2rem;
            max-width: 600px;
            margin: 0 auto;
        }

        #book-container {
            width: 900px;
            height: 800px;
            margin: 0 auto;
            position: relative;
            perspective: 1500px;
            margin-bottom: 60px;
            z-index: 1;
        }

        #book {
            width: 100%;
            height: 100%;
            position: relative;
            transform-style: preserve-3d;
            -webkit-transform-style: preserve-3d;
            -moz-transform-style: preserve-3d;
        }

        #book .page {
            width: 50%;
            height: 100%;
            float: left;
            background: linear-gradient(to right, #f9f9f9 0%, #ffffff 10%);
            padding: 30px;
            display: flex;
            flex-direction: column;
            box-sizing: border-box;
            overflow: hidden;
            box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);
            position: absolute;
            backface-visibility: hidden;
            -webkit-backface-visibility: hidden;
            -moz-backface-visibility: hidden;
        }
        
    
        #book-container1 {
            width: 900px;
            height: 600px;
            margin: 0 auto;
            position: relative;
            perspective: 1500px;
            margin-bottom: 60px;
            z-index: 1;
        }

        #book1 {
            width: 100%;
            height: 100%;
            position: relative;
            transform-style: preserve-3d;
            -webkit-transform-style: preserve-3d;
            -moz-transform-style: preserve-3d;
        }

        #book1 .page {
            width: 50%;
            height: 100%;
            float: left;
            background: linear-gradient(to right, #f9f9f9 0%, #ffffff 10%);
            padding: 30px;
            display: flex;
            flex-direction: column;
            box-sizing: border-box;
            overflow: hidden;
            box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);
            position: absolute;
            backface-visibility: hidden;
            -webkit-backface-visibility: hidden;
            -moz-backface-visibility: hidden;
        }

        .page-content {
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            padding: 20px;
        }

        .product-image {
            width: 100%;
            height: 280px;
            background-color: #fff;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            margin-bottom: 25px;
            border: 1px solid #eee;
        }

        .product-image img {
            max-width: 90%;
            max-height: 90%;
            object-fit: contain;
            transition: opacity 0.3s ease;
        }

        .product-image img[style*="display: none"] + span {
            display: block !important;
            color: #aaa;
            text-align: center;
        }

        .product-info h2 {
            font-size: 1.8rem;
            color: #2c3e50;
            margin-bottom: 15px;
        }

        .product-info .description {
            font-size: 1rem;
            color: #555;
            line-height: 1.6;
            margin-bottom: 20px;
            min-height: 80px;
        }

        .product-meta {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 15px;
        }

        .price {
            font-size: 1.8rem;
            font-weight: bold;
            color: #e74c3c;
        }

        .category {
            background: #3498db;
            color: white;
            padding: 5px 12px;
            border-radius: 20px;
            font-size: 0.9rem;
        }

        .stock {
            font-size: 1rem;
            color: #27ae60;
            font-weight: 500;
        }

        .navigation {
            display: flex;
            gap: 10px;
            justify-content: center;
            align-items: center;
            padding: 10px 0;
            position: relative;
            z-index: 100;
            margin-top: 10px;
            background: rgba(255, 255, 255, 0.9);
            border-radius: 10px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
        }

        .btn {
            background: #fff;
            color: #2c3e50;
            border: none;
            padding: 12px 25px;
            font-size: 1rem;
            font-weight: 600;
            border-radius: 50px;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 8px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
            transition: all 0.3s ease;
        }

        .btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 7px 18px rgba(0, 0, 0, 0.25);
        }

        .btn:active {
            transform: translateY(1px);
        }

        .btn-prev {
            background: #2c3e50;
            color: white;
        }

        .btn-next {
            background: #e74c3c;
            color: white;
        }

        .btn-first {
            background: #3498db;
            color: white;
        }

        .btn-last {
            background: #8e44ad;
            color: white;
        }

        .btn-add-to-cart {
            background: #27ae60;
            color: white;
            width: 100%;
            justify-content: center;
            margin-top: auto;
        }

        .page-numbers {
            color: #2c3e50;
            font-size: 1.2rem;
            font-weight: 500;
            margin: 0 10px;
        }

        .footer {
            color: rgba(255, 255, 255, 0.9);
            text-align: center;
            margin-top: 40px;
            margin-bottom: 2px;
            font-size: 1rem;
            width: 100%;
            z-index: 101;
            background: rgba(0, 0, 0, 0.5);
            padding: 15px;
            border-radius: 8px;
        }

        /* Estilos específicos para turn.js */
        #book .hard {
            background: #2c3e50;
            color: white;
            font-weight: bold;
            font-size: 1.5rem;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        #book .hard.front-cover, #book .hard.back-cover {
            background: linear-gradient(135deg, #fff 0%, #111 100%);
        }
        

        #book .hard.front-cover {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }
        
        
        #book1 .hard {
            background: #2c3e50;
            color: white;
            font-weight: bold;
            font-size: 1.5rem;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        #book1 .hard.front-cover, #book1 .hard.back-cover {
            background: linear-gradient(135deg, #fff 0%, #111 100%);
        }
        

        #book1 .hard.front-cover {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }

        .logo-container {
            width: 80%;
            max-width: 400px;
            margin-bottom: 30px;
        }

        .logo-container img {
            width: 100%;
            height: auto;
            filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
        }

        .logo-subtitle {
            font-size: 1.5rem;
            margin-top: 20px;
            opacity: 0.8;
        }

        #book .even .gradient, #book .odd .gradient {
            position: absolute;
            top: 0;
            bottom: 0;
            width: 30px;
        }

        #book .even .gradient {
            left: 0;
            background: linear-gradient(to right, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0) 100%);
        }

        #book .odd .gradient {
            right: 0;
            background: linear-gradient(to left, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0) 100%);
        }

        .page-number {
            position: absolute;
            bottom: 15px;
            right: 30px;
            color: #aaa;
            font-size: 0.9rem;
        }

        /* Carrito de compras */
        .cart-icon {
            position: fixed;
            top: 80px;
            right: 20px;
            background: white;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
            cursor: pointer;
            z-index: 1001;
        }

        .cart-count {
            position: absolute;
            top: -5px;
            right: -5px;
            background: #e74c3c;
            color: white;
            width: 25px;
            height: 25px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.8rem;
            font-weight: bold;
        }

        .cart-modal {
            position: fixed;
            top: 0;
            right: -400px;
            width: 400px;
            height: 100%;
            background: white;
            box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
            transition: right 0.3s ease;
            z-index: 1001;
            padding: 20px;
            overflow-y: auto;
        }

        .cart-modal.open {
            right: 0;
        }

        .cart-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
            padding-bottom: 10px;
            border-bottom: 1px solid #eee;
        }

        .cart-header h2 {
            font-size: 1.5rem;
            color: #2c3e50;
        }

        .close-cart {
            background: none;
            border: none;
            font-size: 1.5rem;
            cursor: pointer;
            color: #7f8c8d;
        }

        .cart-items {
            margin-bottom: 20px;
        }

        .cart-item {
            display: flex;
            margin-bottom: 15px;
            padding-bottom: 15px;
            border-bottom: 1px solid #eee;
        }

        .cart-item-image {
            width: 60px;
            height: 60px;
            background: #f9f9f9;
            border-radius: 5px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 15px;
            font-size: 1.5rem;
        }

        .cart-item-image img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
            transition: opacity 0.3s ease;
        }

        .cart-item-image img[style*="display: none"] + span {
            display: block !important;
            color: #aaa;
            text-align: center;
        }

        .cart-item-info {
            flex: 1;
        }

        .cart-item-title {
            font-weight: bold;
            margin-bottom: 5px;
        }

        .cart-item-price {
            color: #e74c3c;
            font-weight: bold;
        }

        .cart-item-quantity {
            display: flex;
            align-items: center;
            margin-top: 5px;
        }

        .quantity-btn {
            background: #eee;
            border: none;
            width: 25px;
            height: 25px;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .quantity-value {
            margin: 0 10px;
            min-width: 20px;
            text-align: center;
        }

        .remove-item {
            color: #e74c3c;
            background: none;
            border: none;
            cursor: pointer;
            font-size: 0.9rem;
            margin-top: 5px;
        }

        .cart-total {
            font-size: 1.2rem;
            font-weight: bold;
            text-align: right;
            margin-top: 20px;
            padding-top: 20px;
            border-top: 1px solid #eee;
        }

        .checkout-btn {
            background: #27ae60;
            color: white;
            border: none;
            padding: 12px 20px;
            width: 100%;
            border-radius: 5px;
            font-weight: bold;
            cursor: pointer;
            margin-top: 20px;
        }

        /* Modal de cantidad */
        .quantity-modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 1001;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
        }

        .quantity-modal.open {
            opacity: 1;
            visibility: visible;
        }

        .quantity-content {
            background: white;
            padding: 30px;
            border-radius: 10px;
            width: 90%;
            max-width: 400px;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
        }

        .quantity-header {
            margin-bottom: 20px;
        }

        .quantity-header h3 {
            font-size: 1.3rem;
            color: #2c3e50;
        }

        .quantity-controls {
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 25px 0;
        }

        .quantity-btn-lg {
            background: #3498db;
            color: white;
            border: none;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            font-size: 1.2rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .quantity-value-lg {
            font-size: 1.5rem;
            margin: 0 20px;
            min-width: 50px;
            text-align: center;
        }

        .quantity-actions {
            display: flex;
            gap: 15px;
        }

        .quantity-actions button {
            flex: 1;
            padding: 12px;
            border-radius: 5px;
            font-weight: bold;
            cursor: pointer;
        }

        .quantity-confirm {
            background: #27ae60;
            color: white;
            border: none;
        }

        .quantity-cancel {
            background: #e74c3c;
            color: white;
            border: none;
        }

        /* Modal de código postal */
        .postal-code-modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 1001;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
        }

        .postal-code-modal.open {
            opacity: 1;
            visibility: visible;
        }

        .postal-code-content {
            background: white;
            padding: 30px;
            border-radius: 10px;
            width: 90%;
            max-width: 400px;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
        }

        .postal-code-header {
            margin-bottom: 20px;
        }

        .postal-code-header h3 {
            font-size: 1.3rem;
            color: #2c3e50;
        }

        .postal-code-input {
            width: 100%;
            padding: 12px;
            border: 2px solid #ddd;
            border-radius: 5px;
            font-size: 1rem;
            margin-bottom: 15px;
            transition: border-color 0.3s ease;
        }

        .postal-code-input:focus {
            border-color: #6a11cb;
            outline: none;
        }

        .postal-code-error {
            color: #e74c3c;
            font-size: 0.9rem;
            margin-bottom: 15px;
            display: none;
        }

        .postal-code-actions {
            display: flex;
            gap: 15px;
        }

        .postal-code-actions button {
            flex: 1;
            padding: 12px;
            border-radius: 5px;
            font-weight: bold;
            cursor: pointer;
        }

        .postal-code-confirm {
            background: #27ae60;
            color: white;
            border: none;
        }

        .postal-code-cancel {
            background: #e74c3c;
            color: white;
            border: none;
        }

        /* Responsive */
        @media (max-width: 950px) {
            #book-container {
                width: 95%;
                height: 500px;
                margin-bottom: 80px;
            }
            
            .header h1 {
                font-size: 2.2rem;
            }
            
            .cart-modal {
                width: 350px;
            }

            .navigation {
                flex-wrap: wrap;
                gap: 8px;
                padding: 8px;
            }
            
            .btn {
                padding: 10px 15px;
                font-size: 0.9rem;
                
                background: #fff;
                color: #2c3e50;
                border: none;
                
                font-weight: 600;
                border-radius: 50px;
                cursor: pointer;
                display: flex;
                align-items: center;
                gap: 8px;
                box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
                transition: all 0.3s ease;
            }
        }

        @media (max-width: 650px) {
            body {
                padding-top: 60px;
            }

            nav {
                padding: 10px 15px;
            }

            .nav-container {
                flex-direction: column;
                align-items: flex-start;
            }

            .nav-logo {
                font-size: 1.2rem;
            }

            .nav-logo img {
                height: 30px;
            }

            .nav-menu {
                display: none;
                flex-direction: column;
                width: 100%;
                margin-top: 10px;
            }

            .nav-menu.active {
                display: flex;
            }

            .nav-menu a {
                padding: 10px;
                width: 100%;
                text-align: center;
                border-bottom: 1px solid #eee;
            }

            .nav-toggle {
                display: block;
                position: absolute;
                top: 15px;
                right: 15px;
            }

            /*#book-container {
                height: 400px;
                margin-bottom: 100px;
            }*/
            
            #book .page {
                padding: 15px;
            }
            
            #book-container1 {
                height: 400px;
                margin-bottom: 100px;
            }
            
            #book1 .page {
                padding: 15px;
            }
            
            .product-image {
                height: 180px;
            }
            
            .product-info h2 {
                font-size: 1.4rem;
            }
            
            .price {
                font-size: 1.4rem;
            }
            
            .btn {
                padding: 8px 12px;
                font-size: 0.8rem;
            }
            
            .logo-subtitle {
                font-size: 1.2rem;
            }
            
            .cart-modal {
                width: 100%;
                right: -100%;
            }
            
            .cart-modal.open {
                right: 0;
            }

            .navigation {
                flex-direction: column;
                align-items: center;
                gap: 6px;
            }
            
            .page-numbers {
                font-size: 1rem;
            }
            
            
        }

        /* Animaciones */
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        @keyframes fadeOut {
            from { opacity: 1; transform: translateY(0); }
            to { opacity: 0; transform: translateY(20px); }
        }
        
        body, .header, #book-container, .footer, nav {
            opacity: 0;
            animation: fadeIn 0.5s forwards;
        }

        .search-container {
            margin: 20px auto;
            width: 90%;
            max-width: 600px;
            position: relative;
        }
        
        .search-input {
            width: 100%;
            padding: 12px 20px;
            border: 2px solid #ddd;
            border-radius: 50px;
            font-size: 1rem;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            transition: all 0.3s ease;
        }
        
        .search-input:focus {
            border-color: #6a11cb;
            outline: none;
            box-shadow: 0 2px 15px rgba(106,17,203,0.2);
        }
        
        .search-button {
            position: absolute;
            right: 5px;
            top: 5px;
            background: #6a11cb;
            color: white;
            border: none;
            border-radius: 50%;
            width: 40px;
            height: 40px;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .search-button:hover {
            background: #2575fc;
        }
        
        .search-results-info {
            text-align: center;
            color: white;
            margin-bottom: 20px;
            font-size: 1.1rem;
        }
        #suggestions-container { 
            max-height: 250px; 
            overflow-y: auto; 
        }
        #suggestions-container1 { 
            max-height: 250px; 
            overflow-y: auto; 
        }
        .loader {
            border: 4px solid #f3f3f3;
            border-radius: 50%;
            border-top: 4px solid #3498db;
            width: 24px;
            height: 24px;
            animation: spin 1.5s linear infinite;
        }
        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        .container {
            max-width: 650px;
            width: 100%;
            background: white;
            padding: 30px;
            border-radius: 10px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
            border-top: 5px solid #007bff;
        }
        h1 {
            text-align: center;
            color: #007bff;
            margin-bottom: 25px;
            font-size: 2em;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }
        h1 span {
            font-size: 1.2em;
        }
        p {
            line-height: 1.6;
            margin-bottom: 15px;
        }
        form {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-top: 20px;
        }
        .form-group {
            display: flex;
            flex-direction: column;
        }
        label {
            font-weight: bold;
            margin-bottom: 8px;
            color: #555;
            font-size: 1.1em;
        }
        input[type="text"],
        input[type="number"] {
            padding: 12px 15px;
            border: 1px solid #ccd;
            border-radius: 6px;
            font-size: 1em;
            width: calc(100% - 30px);
            box-sizing: border-box;
            transition: border-color 0.3s ease;
        }
        input[type="text"]:focus,
        input[type="number"]:focus {
            border-color: #007bff;
            outline: none;
            box-shadow: 0 0 0 3px rgba(0,123,255,0.25);
        }
        .button-group {
            display: flex;
            gap: 15px;
            justify-content: flex-end;
            margin-top: 10px;
        }
        .button-group button {
            padding: 12px 20px;
            border: none;
            border-radius: 6px;
            cursor: pointer;
            font-size: 1.1em;
            font-weight: bold;
            transition: background-color 0.3s ease, transform 0.2s ease;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            flex-grow: 1;
            max-width: 200px;
        }
        .button-group button#submitBtn {
            background-color: #28a745; /* Verde */
            color: white;
        }
        .button-group button#submitBtn:hover {
            background-color: #218838;
            transform: translateY(-2px);
        }
        .button-group button#clearBtn {
            background-color: #dc3545; /* Rojo */
            color: white;
        }
        .button-group button#clearBtn:hover {
            background-color: #c82333;
            transform: translateY(-2px);
        }

        #resultadosContainer {
            margin-top: 30px;
            padding: 20px;
            border: 1px solid #d4edda;
            background-color: #dff0d8;
            border-radius: 8px;
            text-align: left;
            font-size: 1.1em;
            line-height: 1.8;
            min-height: 50px;
            display: none;
        }
        #resultadosContainer .success {
            color: #28a745;
        }
        #resultadosContainer .error {
            color: #dc3545;
            font-weight: bold;
        }
        .result-line {
            margin: 5px 0;
        }
        .bold-text {
            font-weight: bold;
            color: #0056b3;
        }
        .note {
            font-size: 0.9em;
            color: #666;
            margin-top: 20px;
            padding-top: 15px;
            border-top: 1px dashed #ddd;
        }
        .total-cost-line { /* Nuevo estilo para el costo total final */
            margin-top: 15px;
            padding-top: 10px;
            border-top: 1px dashed #bbb;
            font-size: 1.2em;
            font-weight: bold;
            color: #007bff;
        }