:root{--primary-yellow: #FFD700;--secondary-dark: #2c3e50;--accent-green: #2ecc71;--white: #ffffff;--light-grey: #f4f4f4;--border-color: #e0e0e0;--text-color: #333;--light-text: #666;--sidebar-width-desktop: 220px;--sidebar-padding: 20px;--category-bg: #fdfdfd;--category-border-radius: 8px;--category-shadow: 0 4px 10px rgba(0, 0, 0, .05);--main-content-max-width: 1000px;--sidebar-gap: 40px;--product-card-min-width-main: 350px;--product-card-min-width-sidebar: 250px;--product-card-gap: 25px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Poppins,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--light-grey)}.container{max-width:95vw;margin:0 auto;padding:0 20px}header{display:flex;align-items:center;justify-content:space-around;width:100%;height:80px;background-color:var(--primary-yellow);box-shadow:0 2px 5px #0000001a;position:sticky;top:0;z-index:1000;grid-row:1/1}.header-container-main{display:flex;justify-content:space-between;align-items:center;width:80vw}.sabor_express-main-logo{font-family:Poppins,sans-serif;font-size:2.2em;font-weight:700;color:var(--secondary-dark);text-decoration:none;transition:color .2s ease}.sabor_express-main-logo:hover{color:#34495e}.cart-icon{background-color:var(--secondary-dark);color:var(--white);border:none;border-radius:50%;width:50px;height:50px;display:flex;justify-content:center;align-items:center;font-size:1.5em;cursor:pointer;position:relative;box-shadow:0 3px 6px #0003;transition:background-color .2s ease,transform .2s ease}.cart-icon:hover{background-color:#34495e;transform:translateY(-2px)}.cart-count{background-color:var(--accent-green);color:var(--white);font-size:.7em;font-weight:700;border-radius:50%;padding:3px 7px;position:absolute;top:-5px;right:-5px;min-width:20px;text-align:center;box-shadow:0 1px 3px #0000004d}.main-content-padded{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:30px;padding-bottom:50px;min-height:1000px;grid-row:2 / 3;margin-bottom:300px}.client-company-info-main{width:100%;text-align:center;margin-top:20px;margin-bottom:50px}.client-company-name-main{font-family:Poppins,sans-serif;font-size:3rem;font-weight:700;color:var(--secondary-dark);margin-bottom:10px;line-height:1.2}.client-company-slogan-main{font-size:1.4rem;color:var(--light-text);margin-bottom:0;font-style:italic}.product-layout-grid{display:grid;grid-template-columns:var(--sidebar-width-desktop) 1fr var(--sidebar-width-desktop);gap:var(--sidebar-gap);max-width:calc(var(--sidebar-width-desktop) * 2 + var(--main-content-max-width) + var(--sidebar-gap) * 2);padding:0 20px;align-items:start}.left-sidebar{grid-column:1 / 1;width:100%}.main-product-area{grid-column:2 / 3;width:100%;padding:0 40px}#extrasCategory{grid-column:3 / 3}.product-layout-grid.only-main-content{grid-template-columns:1fr;gap:0;max-width:var(--main-content-max-width);margin-left:auto;margin-right:auto}.product-layout-grid.left-sidebar-and-main{grid-template-columns:var(--sidebar-width-desktop) 1fr;gap:var(--sidebar-gap);max-width:calc(var(--sidebar-width-desktop) + var(--main-content-max-width) + var(--sidebar-gap));margin-left:auto;margin-right:auto}.product-layout-grid.right-sidebar-and-main{grid-template-columns:1fr var(--sidebar-width-desktop);gap:var(--sidebar-gap);max-width:calc(var(--sidebar-width-desktop) + var(--main-content-max-width) + var(--sidebar-gap));margin-left:auto;margin-right:auto}.product-category-sidebar.empty-category{display:none}.product-category-sidebar:not(.empty-category){display:block}.product-category-sidebar .empty-category-message{display:none}.product-category-sidebar.empty-category .empty-category-message{display:block;text-align:center;color:var(--light-text);padding:20px}.product-category-sidebar{background-color:var(--white);padding:var(--sidebar-padding);border-radius:var(--category-border-radius);box-shadow:var(--category-shadow);overflow-y:scroll;min-width:250px}.product-category-sidebar .category-title{font-size:1.4rem;color:var(--secondary-dark);margin-bottom:20px;text-align:center;border-bottom:2px solid var(--primary-yellow);padding-bottom:10px;display:flex;justify-content:center;align-items:center;gap:8px}.product-category-sidebar .category-title i{color:var(--accent-green)}.section-title,.product-category-section .category-title{font-family:Poppins,sans-serif;font-weight:700;color:var(--secondary-dark);margin-bottom:30px;text-align:center;position:relative;padding-bottom:15px}.section-title:after,.product-category-section .category-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:4px;background-color:var(--primary-yellow);border-radius:2px}.section-title{font-size:2.5rem}.product-category-section{background-color:var(--white);padding:30px;border-radius:var(--category-border-radius);box-shadow:var(--category-shadow);margin-bottom:40px;max-width:var(--main-content-max-width);margin-left:auto;margin-right:auto}.product-category-section .category-title{font-size:2em;margin-bottom:25px;padding-bottom:12px}.product-category-section .category-title:after{background-color:var(--accent-green);width:80px;height:3px}.product-grid{display:flex;flex-wrap:wrap;grid-template-columns:repeat(auto-fill,minmax(var(--product-card-min-width-main),1fr));gap:var(--product-card-gap);padding:10px;margin-top:20px;align-items:center;justify-content:center}.product-category-sidebar .product-grid{grid-template-columns:1fr;gap:var(--product-card-gap);padding:0}.product-card{background-color:var(--white);border-radius:12px;box-shadow:0 8px 20px #0000001f;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease;border:1px solid var(--border-color);width:400px;height:auto}.product-card:hover{transform:translateY(-7px);box-shadow:0 15px 30px #0003}.product-card img{width:100%;height:350px;-o-object-fit:cover;object-fit:cover;border-bottom:1px solid var(--border-color)}.product-info{padding:20px 20px 15px;flex-grow:1;display:flex;flex-direction:column;justify-content:space-between;text-align:left;min-height:200px}.product-info h3{font-family:Poppins,sans-serif;font-size:1.4rem;color:var(--secondary-dark);margin-bottom:8px;line-height:1.3}.product-info .description{font-size:.9em;color:#666;margin-bottom:12px;flex-grow:1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.product-price{font-size:1.6em;font-weight:700;color:var(--accent-green);margin-top:auto;padding-top:10px;border-top:1px dashed #eee;text-align:right}.add-to-cart-btn{background-color:var(--primary-yellow);color:var(--secondary-dark);border:none;padding:15px 0;border-radius:0 0 12px 12px;cursor:pointer;font-size:1.2em;font-weight:700;text-transform:uppercase;transition:all .3s ease;width:100%;text-align:center}.add-to-cart-btn:hover{background-color:#fdd835}.product-card.unavailable{opacity:.7;filter:grayscale(50%);pointer-events:none}.product-card.unavailable .add-to-cart-btn{background-color:#ccc;color:#888;cursor:not-allowed}.loading-message,.error-message,.no-products-message{text-align:center;grid-column:1 / -1;padding:40px;font-size:1.2em;color:#666}.error-message{color:#e74c3c}.modal{display:none;position:fixed;z-index:1001;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#0009;justify-content:center;align-items:center}.modal-content{background-color:var(--white);margin:10% auto;padding:30px;border-radius:10px;width:90%;max-width:500px;box-shadow:0 5px 15px #0000004d;position:relative;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.close-button{color:#aaa;position:absolute;top:15px;right:25px;font-size:28px;font-weight:700;cursor:pointer;transition:color .2s ease}.close-button:hover,.close-button:focus{color:var(--secondary-dark);text-decoration:none}.modal-content h2{font-family:Poppins,sans-serif;font-size:1.8em;color:var(--secondary-dark);margin-bottom:20px;text-align:center}.cart-items-list{list-style:none;padding:10px 0;max-height:300px;overflow-y:auto;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);margin-bottom:20px}.cart-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed #eee}.cart-item:last-child{border-bottom:none}.item-info{flex-grow:1}.item-info h4{margin:0;font-size:1.1em;color:var(--text-color)}.item-info p{margin:0;font-size:.9em;color:#888}.item-quantity-controls{display:flex;align-items:center;gap:8px}.item-quantity-controls button{background-color:var(--accent-green);color:var(--white);border:none;border-radius:5px;width:28px;height:28px;font-size:1.1em;cursor:pointer;transition:background-color .2s ease}.item-quantity-controls button:hover{background-color:#27ae60}.item-quantity-controls span{font-size:1.1em;font-weight:600;color:var(--secondary-dark)}.empty-cart-message{text-align:center;color:#999;padding:20px 0}.cart-total{font-family:Poppins,sans-serif;font-size:1.6em;font-weight:700;text-align:right;color:var(--secondary-dark);margin-top:20px}.checkout-button{background-color:var(--accent-green);color:var(--white);border:none;padding:15px 25px;border-radius:50px;cursor:pointer;font-size:1.2em;font-weight:700;width:100%;margin-top:30px;transition:background-color .2s ease,transform .2s ease}.checkout-button:hover{background-color:#27ae60;transform:translateY(-2px)}.order-form-container{background-color:var(--white);padding:40px;border-radius:12px;box-shadow:0 8px 30px #0000001a;margin:50px auto;max-width:800px;display:none;animation:fadeInUp .5s ease-out}.order-form-container h2{font-family:Poppins,sans-serif;font-size:2rem;color:var(--secondary-dark);margin-bottom:30px;text-align:center;position:relative;padding-bottom:15px}.order-form-container h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:3px;background-color:var(--accent-green)}#orderForm{display:grid;grid-template-columns:1fr;gap:25px}.form-group{position:relative;margin-bottom:15px}.form-group label{display:block;margin-bottom:10px;font-weight:600;color:var(--secondary-dark);font-size:1rem}.form-group input,.form-group textarea{width:100%;padding:15px 20px;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all .3s ease;background-color:#f9f9f9}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-green);outline:none;background-color:var(--white);box-shadow:0 0 0 3px #2ecc7133}.form-group textarea{min-height:120px;resize:vertical}.submit-order-btn{background-color:var(--accent-green);color:var(--white);border:none;padding:18px;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;margin-top:10px;width:100%;display:flex;justify-content:center;align-items:center;gap:10px}.submit-order-btn:hover{background-color:#27ae60;transform:translateY(-3px);box-shadow:0 5px 15px #2ecc7166}.submit-order-btn:active{transform:translateY(0)}.form-group input:invalid:not(:-moz-placeholder){border-color:#e74c3c}.form-group input:invalid:not(:placeholder-shown){border-color:#e74c3c}.form-group input:valid:not(:-moz-placeholder){border-color:var(--accent-green)}.form-group input:valid:not(:placeholder-shown){border-color:var(--accent-green)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.confirmation-message{background-color:var(--accent-green);color:var(--white);padding:30px;border-radius:10px;text-align:center;margin-top:50px;margin-bottom:50px;font-size:1.3rem;line-height:1.6;box-shadow:0 4px 10px #0000001a;display:none}.confirmation-message strong{font-weight:700;color:var(--primary-yellow)}footer{background-color:var(--secondary-dark);color:var(--white);padding:20px 0;text-align:center;font-size:.9em;box-shadow:0 -2px 5px #0000001a;grid-row:3/3}footer .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}footer .info-text,footer .contact-info{color:#fffc}footer .contact-info i{margin-right:5px;color:var(--primary-yellow)}.logo-rastrodevtech{width:80px}.container-firma-desarrollo,.container-firma-contacto{display:flex;justify-content:center;align-items:center;gap:10px}@media (max-width: 1024px){.product-layout-grid{display:flex;flex-direction:column;align-items:center;padding:0 20px;max-width:100%;gap:40px;grid-template-columns:none;margin:0 auto}.product-layout-grid.only-main-content,.product-layout-grid.left-sidebar-and-main,.product-layout-grid.right-sidebar-and-main{display:flex;flex-direction:column;align-items:center;max-width:100%;margin-left:auto;margin-right:auto;gap:40px;grid-template-columns:none}.main-product-area{order:1;width:100%}#drinksCategory{order:2;width:100%}#extrasCategory{order:3;width:100%}.product-category-sidebar .product-grid{grid-template-columns:repeat(auto-fill,minmax(var(--product-card-min-width-sidebar),1fr));justify-content:center}.product-category-section{padding:25px;max-width:100%;margin-left:initial;margin-right:initial}.product-category-sidebar{margin-bottom:0}}@media (max-width: 768px){header{padding:10px 0;height:80px}.sabor_express-main-logo{font-size:1.8em}.cart-icon{width:45px;height:45px;font-size:1.3rem}.cart-count{font-size:.6em;padding:2px 6px}.client-company-info-main{margin-top:15px;margin-bottom:30px}.client-company-name-main{font-size:2.2em}.client-company-slogan-main{font-size:1.1em}.main-product-area{width:100%;padding:0}.section-title,.product-category-section .category-title{font-size:1.8em;margin-bottom:20px;padding-bottom:10px}.section-title:after,.product-category-section .category-title:after{width:80px;height:3px}.product-category-sidebar .category-title{font-size:1.2em;margin-bottom:15px;padding-bottom:8px}.product-category-sidebar{max-width:100%}.main-product-area,#drinksCategory,#extrasCategory{width:100%}.main-product-area{order:1}#drinksCategory{order:2}#extrasCategory{order:3}.product-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-top:15px;margin-bottom:20px}.product-category-sidebar .product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.product-card img{height:120px}.product-info{padding:12px}.product-info h3{font-size:1.1em}.product-info .description{font-size:.85em;-webkit-line-clamp:3}.product-price{font-size:1.2em;text-align:left}.add-to-cart-btn{padding:10px 0;font-size:.9em}.modal-content{padding:20px;width:95%;margin:5% auto}.modal-content h2{font-size:1.5em;margin-bottom:15px}.close-button{font-size:24px;top:10px;right:15px}.cart-items-list{max-height:250px;margin-bottom:15px;padding-top:8px;padding-bottom:8px}.cart-item{padding:8px 0}.item-info h4{font-size:1em}.item-info p{font-size:.8em}.item-quantity-controls button{width:24px;height:24px;font-size:1em}.item-quantity-controls span{font-size:1em}.cart-total{font-size:1.4rem}.checkout-button{padding:12px 20px;font-size:1.1em;margin-top:20px}.order-form-container{padding:20px;margin-top:30px;margin-bottom:30px}.order-form-container h2{font-size:1.5em;margin-bottom:20px}.form-group input,.form-group textarea,.form-group select{padding:10px 12px;font-size:.9em}.confirmation-message{padding:20px;font-size:1em;margin-top:30px;margin-bottom:30px}footer .container{flex-direction:column;gap:5px}}@media (max-width: 480px){.container,.product-layout-grid{padding:0}.client-company-name-main{font-size:1.8em}.client-company-slogan-main{font-size:.9em}.section-title,.product-category-section .category-title{font-size:1.5em}.product-grid,.product-category-sidebar .product-grid{grid-template-columns:1fr}.product-card img{height:200px}.form-group input,.form-group textarea{padding:8px 10px;font-size:.85em}.container-firma-desarrollo,.container-firma-contacto{display:flex;flex-direction:column}}footer.main-footer{background-color:var(--secondary-dark);color:var(--white);padding:40px 0;font-size:.9em;flex-shrink:0;margin-top:auto}footer.main-footer .footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;justify-content:space-between;align-items:start}.footer-section{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.footer-section h3{font-family:Poppins,sans-serif;font-size:1.3em;color:var(--primary-yellow);margin-bottom:15px;border-bottom:2px solid rgba(255,215,0,.3);padding-bottom:8px;width:100%}.footer-section p{margin-bottom:10px;line-height:1.6;color:#e0e0e0}.footer-about .footer-features{list-style:none;padding:0;margin-top:10px}.footer-about .footer-features li{margin-bottom:8px;display:flex;align-items:center;gap:10px;color:silver}.footer-about .footer-features li i{color:var(--accent-green);font-size:1.1em}.footer-contact .developer-info{display:flex;align-items:center;gap:10px;margin-bottom:15px}.footer-contact .logo-rastrodevtech{width:60px;height:auto;border-radius:8px;box-shadow:0 0 5px #ffffff1a}.footer-contact .info-text{font-size:1.1em;font-weight:600;color:var(--white)}.footer-contact .contact-item{display:flex;align-items:center;gap:8px;color:silver;text-decoration:none;margin-bottom:8px;transition:color .2s ease}.footer-contact .contact-item i{color:var(--primary-yellow);font-size:1.1em}.footer-contact .contact-item:hover{color:var(--white)}.footer-services .footer-cta-button{background-color:var(--accent-green);color:var(--white);padding:12px 25px;border-radius:50px;text-decoration:none;font-weight:700;font-size:1em;display:inline-flex;align-items:center;gap:10px;margin-top:15px;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 10px #0003}.footer-services .footer-cta-button:hover{background-color:#27ae60;transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.footer-services .small-print{font-size:.8em;color:#999;margin-top:15px;line-height:1.4}.footer-legal-version .copyright{font-size:.85em;color:#a0a0a0;margin-top:20px;margin-bottom:10px}.footer-legal-version a{display:block;color:silver;text-decoration:none;margin-bottom:5px;transition:color .2s ease}.footer-legal-version a:hover{color:var(--primary-yellow)}@media (max-width: 992px){footer.main-footer .footer-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:25px}.footer-section h3{font-size:1.2em}.footer-section p,.footer-features li{font-size:.85em}.footer-contact .logo-rastrodevtech{width:50px}.footer-contact .info-text{font-size:1em}.footer-services .footer-cta-button{padding:10px 20px;font-size:.9em}}@media (max-width: 768px){footer.main-footer{padding:30px 0}footer.main-footer .footer-grid{grid-template-columns:1fr;gap:30px}.footer-section{align-items:center;text-align:center}.footer-section h3{font-size:1.3em;text-align:center}.footer-contact .developer-info{flex-direction:column;gap:5px}.footer-contact .contact-item{justify-content:center}}.main-header{background:linear-gradient(135deg,var(--primary-yellow) 0%,#ffcc00 100%);box-shadow:0 4px 20px #0000001a;transition:all .3s ease}.sabor_express-main-logo{text-shadow:1px 1px 3px rgba(0,0,0,.1);position:relative;padding-left:40px;transition:transform .3s ease}.sabor_express-main-logo:hover{transform:scale(1.03)}.cart-icon{transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 8px #00000026}.cart-icon:hover{transform:translateY(-3px);box-shadow:0 6px 12px #0003}.client-company-info-main{background:linear-gradient(to right,#ffffffe6,#ffffffb3);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:12px;padding:2rem;margin:2rem auto;max-width:90%;box-shadow:0 5px 15px #0000000d}.client-company-name-main{position:relative;display:inline-block}.client-company-name-main:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:3px;background:linear-gradient(to right,var(--primary-yellow),var(--accent-green))}.product-card{transition:all .4s cubic-bezier(.175,.885,.32,1.1);position:relative;overflow:hidden;border:none}.product-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000,#00000008);z-index:1}.product-card:hover{transform:translateY(-10px);box-shadow:0 15px 30px #00000026}.product-card img{transition:transform .5s ease}.product-card:hover img{transform:scale(1.05)}.add-to-cart-btn{position:relative;overflow:hidden;transition:all .4s ease}.add-to-cart-btn:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:#ffffff80;opacity:0;border-radius:100%;transform:scale(1) translate(-50%,-50%);transform-origin:50% 50%}.add-to-cart-btn:hover:after{animation:ripple 1s ease-out}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(20);opacity:0}}.modal-content{border:1px solid rgba(255,255,255,.2);background:linear-gradient(to bottom right,#fff,#f9f9f9);box-shadow:0 10px 30px #0003}.cart-items-list{scrollbar-width:thin;scrollbar-color:var(--primary-yellow) #f1f1f1}.cart-items-list::-webkit-scrollbar{width:6px}.cart-items-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.cart-items-list::-webkit-scrollbar-thumb{background-color:var(--primary-yellow);border-radius:10px}.checkout-button{letter-spacing:1px;font-weight:600;text-shadow:0 1px 1px rgba(0,0,0,.1);position:relative;overflow:hidden}.checkout-button:hover{background-color:#27ae60}.product-category-section,.product-category-sidebar{transition:transform .3s ease,box-shadow .3s ease}.product-category-section:hover,.product-category-sidebar:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.form-group input,.form-group textarea{transition:all .3s ease;border:1px solid #ddd}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-green);box-shadow:0 0 0 3px #2ecc7133}.submit-order-btn{position:relative;z-index:1;overflow:hidden}.submit-order-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s;z-index:-1}.submit-order-btn:hover:before{left:100%}.main-footer{border-top:3px solid var(--primary-yellow)}.footer-section h3{position:relative;display:inline-block;padding-bottom:5px}.footer-section h3:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:2px;background:var(--primary-yellow)}.footer-cta-button{position:relative;transition:all .3s ease}.footer-cta-button:hover{transform:translateY(-3px) scale(1.02)}@media (max-width: 768px){.client-company-info-main{padding:1.5rem}.product-card:hover{transform:none;box-shadow:0 5px 15px #0000001a}}.product-card{position:relative;z-index:10}.product-card *{pointer-events:auto}.product-card:before,.product-card:after{pointer-events:none}.add-to-cart-btn{cursor:pointer!important;position:relative;z-index:15}[data-debug=true] .product-card{outline:2px solid red}
